国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)空間安全學科下的C語言課程改革探究

2020-12-01 03:15:00吳福生王俊倪明濤
軟件導(dǎo)刊 2020年10期
關(guān)鍵詞:網(wǎng)絡(luò)空間安全課程改革

吳福生 王俊 倪明濤

摘 要:C語言課程是計算機專業(yè)重要的基礎(chǔ)課,也是學習其它高級程序設(shè)計語言的基礎(chǔ),具有承上啟下的作用。但很多高校教師在講授C語言時,并沒有基于計算機系統(tǒng)結(jié)構(gòu)和匯編語言等課程進行教學,導(dǎo)致C語言教學對學生而言只能達到“知其然”,并沒有“知其所以然”。因此,針對網(wǎng)絡(luò)空間安全學科下的C語言教學,提出將計算機系統(tǒng)結(jié)構(gòu)和匯編語言課程作為C語言前期基礎(chǔ)課程的改革思路,從程序語言底層執(zhí)行過程出發(fā)進行C語言課程教學,并對C語言課程教學案例進行分析。

關(guān)鍵詞:網(wǎng)絡(luò)空間安全;C語言課程;課程改革

DOI:10. 11907/rjdk. 192098

中圖分類號:TP434文獻標識碼:A 文章編號:1672-7800(2020)010-0244-03

Abstract: The C language course is an important basic course for computer science and a preliminary basic course for learning other high-level programming languages. It has the role of linking up and down. Many college teachers do not teach based on computer system structure and assembly language when teaching C language. C language teaching can only enable student know what the course is about without understanding the principles. In the first-level discipline based on cyberspace security, this paper proposes the computer composition principle and assembly language course as the pre-basic course of C language course. It is proposed to teach the C language courses from the implementation process of the underlying language of the programming language. Finally, the analysis of the teaching examples of C language courses is given.

Key Words: cyberspace security; C language course; curriculum reform

0 引言

高級程序設(shè)計語言是計算機科學與技術(shù)、軟件工程和信息工程等工科專業(yè)開設(shè)的專業(yè)必修課和公共基礎(chǔ)課,在高校的信息類課程教學中占有重要地位。當前,信息安全引起了人們的高度關(guān)注,信息安全的基礎(chǔ)教學也得到了前所未有的重視,尤其是高級程序設(shè)計語言課程教學顯得尤為重要。然而,傳統(tǒng)高級程序設(shè)計語言課程教學已無法滿足如今新形勢下對信息安全的要求,如何進行網(wǎng)絡(luò)空間安全學科下的高級程序設(shè)計語言(以C語言程序設(shè)計課程為例)課程教學面臨挑戰(zhàn)。

C語言課程屬于信息安全專業(yè)的必修課,也是學習其它高級語言的基礎(chǔ),如腳本語言(JavaScript和PHP等)、高級語言(C++和Java等)和Python語言等。很多高校都把C語言課程安排在大學一年級,并采用“理論+實驗”的教學模式,課程考核方式為筆試,但這種傳統(tǒng)教學模式并沒有取得良好的教學效果。C語言課程在整個理工科本科教學中占有重要地位,特別對于網(wǎng)絡(luò)空間安全專業(yè),更是必不可少的專業(yè)基礎(chǔ)課程,但學生普遍認為C語言課程難學,因此學習興趣不高。導(dǎo)致這種情況的原因之一是傳統(tǒng)教學方式在講授C語言程序代碼執(zhí)行時,一般只是針對C語言“面向過程”的特點,僅從程序流程上講授C語言執(zhí)行過程。這種教授方法對于一般要求開設(shè)高級語言程序設(shè)計課程的工科專業(yè)是可行的,但對于網(wǎng)絡(luò)空間安全學科專業(yè)的學生則是“只知其然,而不知其所以然”,導(dǎo)致其在后期的逆向工程、漏洞分析和計算機病毒分析等課程學習中或具體實際應(yīng)用中存在困難。主要原因為:①在學習C語言課程時,未開設(shè)計算機體系結(jié)構(gòu)的前期基礎(chǔ)課程(例如:計算機組成原理和匯編語言);②教學過程中忽視了對C語言底層執(zhí)行過程的學習;③教師在課程教學設(shè)計中未考慮C語言的特殊性,即C語言是一種過渡性程序設(shè)計語言,既可看作低級語言,又可認為是一種高級程序設(shè)計語言。

因此,針對目前C語言課程教學中存在的問題,本文對網(wǎng)絡(luò)空間安全學科下的C語言課程改革進行探究。本文主要創(chuàng)新點為:①把計算機體系結(jié)構(gòu)課程和匯編語言作為C語言教學的前期課程;②在C語言課程教學過程中融入計算機硬件、匯編指令等基礎(chǔ)知識;③結(jié)合網(wǎng)絡(luò)空間安全的信息安全規(guī)范[1]開展教學活動。

1 相關(guān)研究工作

C語言是計算機及其它理工類專業(yè)的專業(yè)基礎(chǔ)課,在高級語言程序設(shè)計課程教學中具有重要地位,大多數(shù)高校的理工類專業(yè)都把C語言課程作為最重要的專業(yè)基礎(chǔ)課之一。因此,很多學者及教師對高校C語言課程本科教學進行了探究。如文獻[2]從計算機專業(yè)與非計算機專業(yè)兩方面考慮C語言課程教學設(shè)計,對C語言理論課與實踐課的教學改革進行探討;文獻[3]設(shè)計了一個C 語言課程教學輔導(dǎo)網(wǎng)站,讓學生在課外可隨時隨地進行C語言課程學習,打破了C語言學習的時空限制問題;文獻[4]針對數(shù)學本科專業(yè)的C語言課程教學,重點分析影響C語言課程教學效果的因素,并提出調(diào)整授課內(nèi)容、改進教學方法以及對考核方式進行改革等對策以提升教學效果;文獻[5]提出利用網(wǎng)絡(luò)平臺和雨課堂,把微課與翻轉(zhuǎn)課堂融合到理論與實踐教學中,以增強學生的編程能力和創(chuàng)新能力。此外,文獻[6]-[10]也對C語言課程改革進行了探討。

網(wǎng)絡(luò)空間安全于2015年獲批一級學科,其包括《密碼學》、《操作系統(tǒng)原理及安全》和《網(wǎng)絡(luò)安全》等課程, C語言課程也是其中最重要的專業(yè)基礎(chǔ)課之一。網(wǎng)絡(luò)空間安全學科的C語言課程教學與傳統(tǒng)計算機科學與技術(shù)及其它理工科專業(yè)有所不同,如果延續(xù)傳統(tǒng)的C語言課程教學方法,未教授C語言程序代碼的底層實現(xiàn)過程,將導(dǎo)致學生無法理解C語言程序代碼的實現(xiàn)原理。例如,對于一個簡單的C語言程序,如圖1所示,傳統(tǒng)教學方法是按照C語言程序執(zhí)行順序進行教學,如圖2所示。

在C語言課程教學中,如果只是基于面向過程的思想講解C語言程序執(zhí)行過程,學生無法徹底理解C語言程序執(zhí)行順序的本質(zhì),在后期學習逆向工程時會感覺很困難。為了加深網(wǎng)絡(luò)空間安全學科專業(yè)學生對C語言的理解,本文對課程安排的時間順序及相關(guān)教學內(nèi)容進行調(diào)整。

2 教學案例設(shè)計

以網(wǎng)絡(luò)空間安全一級學科下信息安全專業(yè)本科生的C語言程序設(shè)計課程為例,對C語言課程的教學改革進行探究。該專業(yè)的前期課程除《計算機導(dǎo)論》外,還有《計算機組成原理》和《匯編語言》等。下面以譚浩強[11]的《C語言程序設(shè)計(第二版)》為教材,以函數(shù)嵌套調(diào)用章節(jié)作為教學案例進行分析,并與計算機科學與技術(shù)和軟件工程等一級學科下的C語言課程教學進行對比。

2.1 傳統(tǒng)C語言課程教學

計算機科學與技術(shù)和軟件工程等一級學科下的C語言課程教學步驟如下:

步驟1:復(fù)習函數(shù)基本概念。

(1)復(fù)習函數(shù)調(diào)用的一般形式:函數(shù)名(實參數(shù)列表)。例如:圖1程序中的主函數(shù)main()調(diào)用函數(shù)Max_Num(a, b),其中(a, b)為函數(shù)Max_Num(a,b)的實參數(shù)列表,a、b為函數(shù)Max_Num(a, b)的實參。

(2)復(fù)習實參與形參數(shù)據(jù)傳遞,即實參與形參一一對應(yīng)傳遞數(shù)據(jù)。

(3)復(fù)習函數(shù)調(diào)用方式:①函數(shù)語句。例如函數(shù)printf();②表達式。例如c=2*max(a,b);③函數(shù)參數(shù)。例如m=max(a,max(b,c))。

步驟2:引入新課——函數(shù)嵌套調(diào)用。函數(shù)嵌套調(diào)用是指在函數(shù)調(diào)用過程中,又調(diào)用另外一個函數(shù)。具體調(diào)用過程如圖3所示。

(1)講解函數(shù)嵌套調(diào)用過程。圖3表示兩層嵌套的情形,其執(zhí)行過程為:執(zhí)行main函數(shù)中調(diào)用a函數(shù)的語句時,即轉(zhuǎn)去執(zhí)行a函數(shù),在a函數(shù)中調(diào)用b 函數(shù)時,又轉(zhuǎn)去執(zhí)行b函數(shù),b函數(shù)執(zhí)行完畢返回a函數(shù)的斷點繼續(xù)執(zhí)行,a函數(shù)執(zhí)行完畢返回main函數(shù)的斷點繼續(xù)執(zhí)行。

(2)講解嵌套調(diào)用C程序的實例,利用函數(shù)嵌套計算(a+b)2。C語言順序執(zhí)行與函數(shù)嵌套調(diào)用過程如圖4所示。

一般情況下,傳統(tǒng)計算機科學與技術(shù)和軟件工程等一級學科的C語言嵌套調(diào)用課程教學到此結(jié)束,并沒有從底層講解函數(shù)調(diào)用的整個過程。

2.2 改革后的C語言課程教學

基于網(wǎng)絡(luò)空間安全一級學科下的C語言課程教學,其教學步驟1(復(fù)習函數(shù)基本概念)與步驟2(講解函數(shù)嵌套調(diào)用過程及實例)與傳統(tǒng)C語言課程教學步驟相同,這里不再贅述,以下重點探討如何根據(jù)C語言底層執(zhí)行過程,解決C語言函數(shù)的嵌套調(diào)用問題。

為使學生加深對函數(shù)嵌套調(diào)用過程的理解,對程序代碼底層執(zhí)行順序進行講解,而傳統(tǒng)C語言程序教學中并未涉及到該教學環(huán)節(jié)。在基于Linux操作系統(tǒng)的環(huán)境下,利用GDB工具對程序代碼(圖4的C語言程序)進行反匯編代碼調(diào)試,具體過程如圖5所示。

由圖5可知,程序的底層執(zhí)行順序為:主函數(shù)main通過匯編指令Call調(diào)用函數(shù)Add,函數(shù)Add也通過匯編指令Call調(diào)用函數(shù)Power,并通過匯編指令Leaveq與retq返回函數(shù)。在這種程序嵌套調(diào)用過程中,能清楚看到程序跳轉(zhuǎn)的地址空間。例如,從main函數(shù)調(diào)用Add函數(shù)時,匯編Call指令值為0x4005cc,該地址正好是Add的函數(shù)地址。

3 教學案例分析

通過對以上C語言程序教學案例的分析可知,從C語言程序執(zhí)行的底層(匯編語言)深入講解C語言函數(shù)嵌套調(diào)用過程,并把《計算機組成原理》和《匯編語言》等課程作為其前期課程,可降低教學難度,也使學生了解C語言函數(shù)調(diào)用執(zhí)行過程的本質(zhì)。在具體教學過程中,不僅教授C語言函數(shù)嵌套調(diào)用的基本知識,例如通過示例圖3解析函數(shù)嵌套調(diào)用具體過程,而且通過匯編語言執(zhí)行跳轉(zhuǎn)的基本指令(Call指令、Leave指令和Ret指令等)解析C語言程序底層執(zhí)行過程(例如圖4的 GDB反匯編代碼調(diào)試),使學生“知其然”,并“知其所以然”,有助于后期逆向工程、漏洞分析和計算機病毒分析等課程的學習以及具體實際應(yīng)用。

4 結(jié)語

沒有網(wǎng)絡(luò)安全就沒有國家安全。網(wǎng)絡(luò)空間安全成為一級學科,充分體現(xiàn)了信息安全的重要性,因此培養(yǎng)系統(tǒng)掌握信息安全領(lǐng)域基本理論與基本技術(shù),具備信息安全科學研究、技術(shù)開發(fā)和應(yīng)用服務(wù)能力的信息安全專業(yè)人才是當務(wù)之急。C語言教學在信息安全教學中具有重要地位,因此網(wǎng)絡(luò)空間安全學科下的C語言教學要求高于一般理工科專業(yè)的教學要求。本文對網(wǎng)絡(luò)空間安全學科下的C語言程序設(shè)計課程教學進行了探究,提出將計算機系統(tǒng)結(jié)構(gòu)和匯編語言課程作為C語言教學前期基礎(chǔ)課程的改革思路,從程序語言底層執(zhí)行過程出發(fā)進行C語言課程教學,可一定程度上降低教學難度,提升教學效果。雖然教學改革取得了一定成效,但網(wǎng)絡(luò)空間安全一級學科下的C語言課程教學仍然是一個比較艱巨的任務(wù),未來需要根據(jù)實踐效果對教學方式作進一步完善。

參考文獻:

[1] 教育部高等學校信息安全專業(yè)教學指導(dǎo)委員會.? 高等學校信息安全專業(yè)指導(dǎo)性專業(yè)規(guī)范[M]. 北京:清華大學出版社,2014.

[2] 李桃迎,陳燕,蔣凡. C 語言程序設(shè)計課程實踐教學探討[J]. 科教導(dǎo)刊,2018,26(9):103-104.

[3] 何福保,徐赫迪. C語言重點課程教學輔導(dǎo)網(wǎng)站的分析與設(shè)計[J]. 福建電腦,2018, 34(11):137-137.

[4] 葉振. 本科院校數(shù)學專業(yè)《C 語言程序設(shè)計》課程教學探討[J]. 福建電腦,2018, 34(10):172-172.

[5] 李宇. 基于微課的C語言翻轉(zhuǎn)課堂教學設(shè)計與實踐[J]. 軟件導(dǎo)刊(教育技術(shù)),2019,18(4):47-48.

[6] 梁志劍,常力丹,井超,等. 基于全學時實驗的程序設(shè)計基礎(chǔ)課程教學改革[J]. 計算機教育,2018,10(10):150-156.

[7] 熊春榮. “C語言程序設(shè)計”課程案例驅(qū)動教學模式的研究與實踐[J]. 玉林師范學院學報,2018,31(5):119-121.

[8] 王曉華,汪榮貴,楊娟,等. 新工科背景下離散數(shù)學為核心的專業(yè)基礎(chǔ)課程實踐教學體系研究[J]. 計算機教育, 2018 (10):146-149.

[9] 于純妍. 基于新型課堂的C語言程序設(shè)計課程教學改革方法[J]. 教育教學論壇,2019 (30):86-87.

[10] 方菲,張大為. 基于微信平臺的C語言網(wǎng)絡(luò)先行混合教學模式[J]. 軟件導(dǎo)刊,2019,18 (5): 209-211.

[11] 譚浩強. C程序設(shè)計(第二版)[M]. 北京:清華大學出版社,2009.

(責任編輯:黃 健)

猜你喜歡
網(wǎng)絡(luò)空間安全課程改革
基于開源軟件的計算機系統(tǒng)安全課程教學與實踐
計算機教育(2017年4期)2017-05-12 11:45:16
新常態(tài)下網(wǎng)絡(luò)空間安全的幾點思考
信息安全、網(wǎng)絡(luò)安全、網(wǎng)絡(luò)空間安全初探
中國新通信(2017年5期)2017-04-13 14:45:02
中、美、英三國網(wǎng)絡(luò)空間安全人才機制培養(yǎng)比較研究
計算機教育(2016年9期)2016-12-21 00:18:06
《建筑裝飾施工組織與管理》課程改革之初探
中職學校計算機專業(yè)“雙證融通”課程改革與探索
“雙創(chuàng)”形勢下高職財務(wù)管理課程改革探索
項目教學法在微電影制作教學中的應(yīng)用
中國市場(2016年35期)2016-10-19 03:02:20
基于創(chuàng)意的對口單招色彩課程改革突破點研究
成才之路(2016年25期)2016-10-08 09:50:05
校企協(xié)同實施高職專業(yè)課程改革的實踐研究
科技視界(2016年20期)2016-09-29 12:54:06
阳谷县| 牙克石市| 安吉县| 赣州市| 金昌市| 迭部县| 平凉市| 双桥区| 鹤岗市| 达孜县| 资溪县| 昆明市| 五河县| 新宁县| 深水埗区| 阳朔县| 南木林县| 泾阳县| 南涧| 沁水县| 潍坊市| 滕州市| 常山县| 敦化市| 抚远县| 张家川| 周口市| 宿迁市| 海淀区| 化德县| 南川市| 和静县| 江阴市| 丹棱县| 抚宁县| 瑞安市| 理塘县| 嘉黎县| 定日县| 惠州市| 商丘市|