高級語言程序設計是電軟系四個專業(yè)開設的一門專業(yè)基礎課程,是一門實踐性、技術性強的課程;該具有基礎性、專業(yè)性、應用性和先進性;對形成學生的職業(yè)能力、提高實踐水平影響很大。本課程的主要任務是訓練學生對C語言基本技能的靈活運用,旨在培養(yǎng)學生設計程序、編寫程序和調試程序的技能,培養(yǎng)學生綜合運用所學知識進行綜合實驗的能力,讓學生提高分析問題并運用計算機技術解決問題的能力。
C語言是一種通用的高級程序設計語言,同時又具有其它高級語言所不具備的低級語言功能,不但可用于編寫應用程序,還可用于編寫系統(tǒng)程序,可實現(xiàn)對底層硬件平臺的編程。電軟系融合信息技術領域四個專業(yè):計算機科學與技術、電子信息科學與技術、通信工程和電氣工程及其自動化,根據(jù)四個專業(yè)對應用型人才培養(yǎng)的要求,高級語言程序設計課程采用增量式項目驅動一體化的教學方法,將具體的應用案例貫穿至整個教學過程,讓學生在學習C語言的同時,學會多角度、綜合分析問題,學習如何將C語言的技能應用至實際應用。該課程不僅有助于學生對后續(xù)課程如《Java程序設計》、《數(shù)據(jù)結構與算法》、《單片機》、《嵌入式》等課程的學習,更可幫助學生學習和掌握程序設計語言的使用方法和技巧,提高多角度分析和解決問題的能力、以及綜合實踐的能力。
[高級語言程序設計]
本科課程教學大綱(理工醫(yī)類/電氣學院)
課程信息 | |||
開課單位 | 電氣與計算機工程學院 | 開課學年學期 | 2018-2019學年第1學期 |
授課年級 | 2018級 | 授課對象專業(yè) | 計算機類、電子信息類、電氣 |
課程學分 | 3 | 課程學時 | 60 |
課程性質 | √專業(yè)必修 ¨專業(yè)選修 ¨公共必修 ¨公共選修 ¨成長必修 ¨專業(yè)限選 ¨公共限選 | ||
先修課程要求 | 無 | ||
教師信息 | |||
授課教師 | 陳海山、溫泉思、譚志國等 | 聯(lián)系電話 | 020-61787345 |
答疑地點 | 2教104 | 答疑時間 | 周三下午2:30 |
電子郵件 | cihisa@126.com |
主 審:
一、課程描述及課程目標
(一)課程描述
高級語言程序設計是電軟系四個專業(yè)開設的一門專業(yè)基礎課程,是一門實踐性、技術性強的課程;該課程具有基礎性、專業(yè)性、應用性和先進性;對形成學生的職業(yè)能力、提高實踐水平影響很大。本課程的主要任務是訓練學生能靈活運用C語言的基本技能設計程序、編寫程序和調試程序的能力,培養(yǎng)學生綜合運用所學知識進行綜合實驗的能力,最終讓學生提高分析問題、并運用計算機技能解決實際問題的能力。
C語言是一種通用的高級程序設計語言,同時又具有其它高級語言所不具備的低級語言功能,不但可用于編寫應用程序,還可用于編寫系統(tǒng)程序,可實現(xiàn)對底層硬件平臺的編程。電軟系融合信息技術領域四個專業(yè):計算機科學與技術、電子信息科學與技術、通信工程和電氣工程及其自動化,根據(jù)四個專業(yè)對應用型人才培養(yǎng)的要求,高級語言程序設計課程采用增量式項目驅動一體化的教學方法,將具體的應用案例貫穿至整個教學過程,讓學生在學習C語言的同時,學會多角度、綜合分析問題,學習如何將C語言的技能應用至實際應用。該課程不僅有助于學生對后續(xù)課程如《Java程序設計》、《數(shù)據(jù)結構與算法》、《單片機》、《嵌入式》等課程的學習,更可幫助學生學習和掌握程序設計語言的使用方法和技巧,提高多角度分析和解決問題的能力、以及綜合實踐的能力。
畢業(yè)要求 | 具體指標點 | 課程教學目標 |
1.工程知識 | 1.2 掌握計算機專業(yè)的基礎知識,能夠運用所學知識對實際問題進行分析。 | 目標1:掌握C語言基本技能,能夠使用C語言基本知識完成專項實驗和綜合實驗,以解決實際問題。 |
2.問題分析 | 2.1 能夠針對某個問題,使用已學的專業(yè)理論知識與方法進行抽象分析與識別,通過某種模型抽象表達實際問題,能進行正確的推理、求解和證明; 2.3 能夠使用計算機工程的方法對某個實際項目進行問題描述和需求分析。 | 目標2:能夠對具體問題進行分析,找到解決該問題所用的方法,使用增量式項目開發(fā)方法設計該問題的解決方案。 |
3.設計/開發(fā)解決方案 | 3.3能夠根據(jù)實驗(或實訓)要求,綜合運用所學計算機知識與技能,設計出具體的、符合實際復雜工程問題的解決方案(或算法),并能設計滿足實際條件的軟、硬件實驗裝置或系統(tǒng)。 | 目標3:能夠綜合運用所學C語言基本知識,使用增量式的項目開發(fā)方法,編寫程序完成專項實驗和綜合實驗;設計能夠解決實際問題的小型軟件;將實驗或實訓的完成情況,撰寫一份完整的實驗報告。 |
主要知識點:
1.1 C語言概述
1.2 C語言開發(fā)環(huán)境
1.3 算法的理解
教學要求:通過本章的學習,使學生了解C語言,掌握C語言編程環(huán)境的搭建及使用,掌握運行C語言程序的步驟和方法。
重點:C語言編程環(huán)境的搭建及使用,運行C語言程序的步驟和方法。
難點:動手實踐。
采用的教學方法:案例演示、知識點講解、實踐指導、動手實驗。
參考案例:C語言編程環(huán)境CodeBlocks的安裝、配置和使用。
講授學時:2學時
實踐學時:2學時
(二)第2章 C語言知識在實踐中的應用
主要知識點:
2.1 案例介紹:LED數(shù)碼管
2.2 問題分析
2.3 LED數(shù)碼管增量劃分與進度安排
教學要求:通過本章的學習,使學生了解本課程教學案例:LED數(shù)碼管,學習針對實際應用進行分析問題和解決問題的步驟,理解本課程增量式項目驅動一體化的教學模式。
重點:增量式項目驅動方法。
難點:分析實際問題。
采用的教學方法:案例演示、小組討論。
參考案例:LED數(shù)碼管。
講授學時:1學時
(三)第3章 基本數(shù)據(jù)類型
主要知識點:
3.1 基本技能:數(shù)據(jù)類型、標識符、常量、變量、輸入和輸出
3.2 增量1:LED數(shù)碼管的定義
3.3 增量2:LED數(shù)碼管的初始化
教學要求:通過本章實際案例LED數(shù)碼管的定義和初始化,使學生掌握C語言基本數(shù)據(jù)類型的使用方法。
重點:增量式項目驅動方法、C語言基本數(shù)據(jù)類型、輸入和輸出。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:3學時
實踐學時:2學時
(四)第4章 運算符和表達式
主要知識點:
4.1 基本技能:C語言中的運算符與表達式、數(shù)據(jù)類型的轉換、順序結構程序設計
4.2 增量3:LED數(shù)碼管實現(xiàn)依次顯示數(shù)字0~9
教學要求:通過本章實際案例LED數(shù)碼管的數(shù)字顯示過程,使學生掌握C語言運算符的使用,以及理解什么是順序結構。
重點:增量式項目驅動方法、運算符和表達式。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:2學時
講解習題:1學時
(五)第5章 選擇結構程序設計
主要知識點:
5.1 基本技能:單分支if、雙分支if-else、if-else-if、if嵌套、switch
5.2 增量4:LED數(shù)碼管實現(xiàn)根據(jù)選擇顯示任意數(shù)字0~9
教學要求:通過本章實際案例LED數(shù)碼管:根據(jù)用戶選擇顯示任意數(shù)字0~9,使學生掌握不同的選擇語句的使用方法。
重點:增量式項目驅動方法、選擇結構。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:2學時
講解習題:1學時
(六)第6章 循環(huán)結構程序設計
主要知識點:
6.1 基本技能:三種循環(huán)結構、循環(huán)嵌套、break和continue
6.2 增量5:LED數(shù)碼管實現(xiàn)無限次(或有限次)循環(huán)顯示數(shù)字0~9
教學要求:通過本章實際案例LED數(shù)碼管:無限次(或有限次)循環(huán)顯示數(shù)字0~9,使學生掌握不同的循環(huán)語句的使用方法。
重點:增量式項目驅動方法、循環(huán)結構。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:2學時
講解習題:1學時
(七)第7章 函數(shù)調用
主要知識點:
7.1 基本技能:函數(shù)分類和定義、函數(shù)類型、函數(shù)參數(shù)、函數(shù)值、函數(shù)調用、函數(shù)嵌套和遞歸調用、變量的作用域
7.2 增量6:用函數(shù)實現(xiàn)上述增量中數(shù)字的顯示過程
教學要求:通過本章實際案例LED數(shù)碼管:用函數(shù)實現(xiàn)上述增量中數(shù)字的顯示過程,使學生學習函數(shù)的定義、能靈活運用函數(shù)解決問題。
重點:增量式項目驅動方法、函數(shù)的使用。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:2學時
講解習題:1學時
(八)第8章 數(shù)組
主要知識點:
8.1 基本技能:一維數(shù)組、二維數(shù)組、數(shù)組作函數(shù)參數(shù)
8.2 增量7:LED數(shù)碼管實現(xiàn)用數(shù)組存儲打印數(shù)字
教學要求:通過本章實際案例LED數(shù)碼管:將打印數(shù)字保存至數(shù)組并顯示,使學生理解并靈活運用數(shù)組。
重點:增量式項目驅動方法、數(shù)組的使用。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:2學時
講解習題:1學時
(九)第9章 指針
主要知識點:
9.1 基本技能:什么是指針、指針變量、指針與數(shù)組、指針與函數(shù)、指針的內存處理
9.2 增量8:LED數(shù)碼管中用指針實現(xiàn)數(shù)字顯示
教學要求:通過本章實際案例LED數(shù)碼管:用指針實現(xiàn)數(shù)字的顯示,使學生初步理解并學習指針的使用。
重點:增量式項目驅動方法、初步理解并學會使用指針。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:1學時
講解習題:1學時
(十)第10章 字符串處理
主要知識點:
10.1 基本技能:字符串、字符數(shù)組、字符數(shù)組的輸入輸出
教學要求:通過課堂小程序理解并掌握字符串的處理方法。
重點:字符串的處理方法。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:1學時
講解習題:1學時
(十一)第11章 結構體、共用體和枚舉
主要知識點:
11.1 基本技能:結構體類型、結構體數(shù)組、共用體、枚舉
11.2 增量9:LED數(shù)碼管顯示多位整數(shù)和多位小數(shù)
教學要求:通過本章實際案例LED數(shù)碼管:顯示多位整數(shù)和多位小數(shù),使學生理解并學習用戶自定義數(shù)據(jù)類型的使用。
重點:用戶自定義數(shù)據(jù)類型的定義及使用。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:1學時
講解習題:1學時
(十二)第12章 讀寫文件
主要知識點:
12.1 基本技能:文件類型、各類讀寫文件操作
12.2 增量10:數(shù)字的永久保存與讀取
教學要求:通過本章實際案例LED數(shù)碼管:實現(xiàn)數(shù)字的永久保存與讀取,使學生理解并學習使用文件存儲與讀取數(shù)據(jù)。
重點:文件的讀寫操作。
難點:知識點的靈活運用。
采用的教學方法:案例演示、知識點講解、小組討論、動手實驗。
參考案例:LED數(shù)碼管。
講授學時:2學時
實踐學時:1學時
(十三)綜合實驗
主要實驗內容及要求:詳見《高級語言程序設計實驗教程》的綜合實驗
課堂實踐學時:10學時
布置時間:根據(jù)教學進度,可在講解第2章時布置綜合實驗,指導學生課下實踐,在第18周驗收綜合實驗。
1、掌握高級語言程序設計基本技能;
2、能針對具體的問題,從多角度、整體上進行分析和設計;
3、提高分析問題和解決問題的能力;
4、提高查閱資料的能力;
5、提高綜合運用所學知識和技能進行綜合程序實踐的能力;
6、提高團隊合作的能力。
(一)出勤與作業(yè)
學生應積極參與課堂教學并完成相關的作業(yè)、實驗。
(二)閱讀資料
學生應認真進行課前預習,閱讀教材和指定參考書及重要的參考文獻。
(三)課堂展示
在實驗課,安排各小組進行實驗題目的討論,以及實驗效果演示。
(四)課程實踐
本課程是理論與實驗結合的課程,理論課通過案例的形式重點講方法、講知識點的應用;實驗課根據(jù)課程進度安排專項實驗和綜合實驗。
(五)小考與期末考
安排課堂測驗、期末考試。
(六)學術誠信
按中山大學南方學院相關規(guī)定執(zhí)行。
(七)剽竊的定義以及相應的懲罰
剽竊是嚴重違反學校規(guī)章制度的行為。一經(jīng)發(fā)現(xiàn),將上報相關部門,并受到包括開除學籍在內的嚴厲處罰。
(一)教科書-必讀
1、苑俊英,譚志國等. 《C語言程序設計——增量式項目驅動一體化教程》,電子工業(yè)出版社,2015年8月.
2、苑俊英,陳海山等. 《C語言程序設計實驗及習題指導》,電子工業(yè)出版社,2016年4月.
(二)教科書-強烈推薦
1、耿祥義等. C程序設計教學做一體化教程,清華大學出版社,2013年4月.
(三)文章-必讀
1、C/C++語言論壇,http://bbs.csdn.net/forums/CPPLanguage/。
2、伯樂在線博客,http://blog.jobbole.com/tag/c/。
3、百度傳課,http://www.chuanke.com/。
(四)文章-強烈推薦
(五)其他參考資料
1、[美]漢利,[美] 科夫曼著;潘蓉等譯. C語言詳解(第6版), 人民郵電出版社,2010年4月.
2、譚浩強. C程序設計(第四版),清華大學出版社, 2010年 6月.
3、譚浩強. C程序設計教程學習輔導(第四版),清華大學出版社,2010年7月.
(一)教學活動
1、個人預習
2、課堂講授
3、課堂問答
4、習題講解
5、案例討論
6、課堂實驗
7、課后實踐
8、期末考試
(二)對預期學習成果的考察
預期學習成果 | 教學活動 | |
第1章 初識C程序 | 1、2、3、5、6、7 | 實驗內容:C語言的運行環(huán)境和運行方法。 |
第2章 C語言知識在實踐中的應用 | 1、2、3、5 | 實驗內容:以LED數(shù)碼管的應用為例分析解決實際問題的方法,并安排綜合實驗。 |
第3章 基本數(shù)據(jù)類型 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗2。 課后作業(yè):課后習題13、14。 |
第4章 運算符與表達式 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗3。 課后作業(yè):課后習題16、17。 |
第5章 選擇結構 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗4、實驗5。 課后作業(yè):課后習題14、15。 |
第6章 循環(huán)語句 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗6。 課后作業(yè):課后習題13、16。 |
第7章 函數(shù) | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗7、實驗8。 課后作業(yè):課后習題13、15。 |
第8章 數(shù)組 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗9。 課后作業(yè):課后習題12、13。 |
第9章 指針 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗10。 課后作業(yè):課后習題12。 |
第10章處理字符串 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗11。 課后作業(yè):課后習題11、13。 |
第11章 結構體、共用體與枚舉 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗12。 課后作業(yè):課后習題12。 |
第12章 讀寫文件 | 1、2、3、4、5、6、7、8 | 實驗內容:實驗教材的實驗13。 課后作業(yè):課后習題10、11。 |
(一)評分體系
1、出勤率: 10%
2、課堂參與: 加分
3、課后作業(yè): 6%
4、課堂實驗: 24%
5、期末考試: 42%
6、綜合實驗: 18%
(二)課程的教學目標與評估方式的對應關系
編號 | 課程教學目標 | 評估方式 |
1 | 目標1:掌握C語言基本技能,能夠使用C語言基本知識完成專項實驗和綜合實驗,以解決實際問題。 | 隨堂提問、課堂實驗、期末綜合實驗。 |
2 | 目標2:能夠對具體問題進行分析,找到解決該問題所用的方法。 | 隨堂提問、課堂實驗、期末考試(編程等題型)。 |
3 | 目標3:能夠綜合運用所學C語言基本知識,使用增量式的項目開發(fā)方法,編寫程序完成專項實驗和綜合實驗;設計能夠解決實際問題的小型軟件;將實驗或實訓的完成情況,撰寫一份完整的實驗報告。 | 隨堂提問、課堂實驗、課后作業(yè)、期末考試(編程題)。 |
(三)評分標準及要求
1)考勤:至少5次考勤,缺勤一次扣1-2分。 |
加分項 |
1)主動參與課堂討論、回答問題:一次加1分,最多5分。 |
作業(yè)、實驗 (30%) |
1)課后作業(yè):占本項的20%,按時按質量完成課后作業(yè); 2)課堂實驗:占本項的80%,完成每次實驗課程任務,根據(jù)完成情況評定A+、A-、B+、B-。 |
期末考試 (60%) |
1)綜合實驗:占本項的30%,分組完成綜合實驗任務 2)期末考試:占本項的70%,參加期末的閉卷考試 |
周次 | 課程要點 | 理論學時 | 實驗學時 | 習題學時 |
6 | 理論: (1)第1章 初始C語言 (2)第2章 C語言知識在實踐中的應用 實驗1:C語言程序的運行環(huán)境和運行方法 | 3 | 2 | |
7 | 理論: (1)第3章 數(shù)據(jù)類型 實驗2:數(shù)據(jù)類型 | 3 | 2 | |
8 | 理論: (1)講解第3章習題 (2)第4章 運算符與表達式 實驗3:運算符和表達式 | 2 | 2 | 1 |
9 | 理論: (1)講解第4章習題 (2)第5章 選擇結構程序設計 實驗4、實驗5:選擇結構程序設計 | 2 | 2 | 1 |
10 | 理論: (1)講解第5章習題 (2)第6章 循環(huán)結構程序設計 實驗6:循環(huán)結構程序設計 | 2 | 2 | 1 |
11 | 理論: (1)講解第6章習題 (2)第7章 函數(shù):函數(shù)定義、函數(shù)類型、函數(shù)參數(shù)、函數(shù)值 實驗7:函數(shù)的結構和函數(shù)調用 | 2 | 2 | 1 |
12 | 理論: (1)第7章 函數(shù):函數(shù)的嵌套調用和遞歸調用、變量的作用域 (2)第8章 數(shù)組 實驗8:函數(shù)的綜合應用 | 3 | 2 | |
13 | 理論: (1)講解第7章習題 (2)講解第8章習題 (3)課題案例講解 實驗9:數(shù)組 | 3 | 2 | |
14 | 理論: (1)第9章 指針:什么是指針、指針變量、指針與數(shù)組、指針與函數(shù)、指針的內存處理 實驗10:指針與數(shù)組 綜合實驗 | 3 | 2 | |
15 | 理論: (1)講解第9章習題 (2)第10章 字符串處理 實驗11:處理字符串 綜合實驗 | 2 | 2 | 1 |
16 | 理論: (1)第11章 結構體、共用體與枚舉 實驗12:結構體、共用體和枚舉 綜合實驗 | 3 | 2 | |
17 | 理論: (1)第12章 讀寫文件 (2)講解第10章、11章、12章習題 實驗:讀寫文件 綜合實驗 | 2 | 2 | 1 |
18 | 考試 | |||
19 | ||||
20 | ||||
總學時 | 30 | 24 | 6 |
注:此表一式三份,于開學兩周內填好,一份送教務與科研部,一份開課單位留存,一份自留。