《安全編程技術(shù)》教學(xué)大綱_第1頁(yè)
《安全編程技術(shù)》教學(xué)大綱_第2頁(yè)
《安全編程技術(shù)》教學(xué)大綱_第3頁(yè)
《安全編程技術(shù)》教學(xué)大綱_第4頁(yè)
《安全編程技術(shù)》教學(xué)大綱_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、安全編程技術(shù)(Secure Programming Technology)課程代碼:5261055學(xué)分:2學(xué)時(shí):32(其中:課程教學(xué)學(xué)時(shí):20,實(shí)驗(yàn)學(xué)時(shí):12)先修課程:計(jì)算機(jī)導(dǎo)論、程序設(shè)計(jì)基礎(chǔ)適用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)教材:無(wú)開課學(xué)院:計(jì)算機(jī)與軟件學(xué)院一、課程性質(zhì)與課程目標(biāo)(一)課程性質(zhì)本課程為java編程技術(shù)的進(jìn)階課程,在熟悉和掌握java語(yǔ)言基本知識(shí)的基礎(chǔ)上深入理解java語(yǔ)言底層原理。課程內(nèi)容主要包括內(nèi)存管理,java中異常的分類和本質(zhì),多線程,線程安全,反射概念以及編程技巧的掌握,類加載器的原理,一些基本常用的設(shè)計(jì)模式和泛型本質(zhì)分析等,其中重點(diǎn)和難點(diǎn)是多線程,線程安全的理解和掌握以及

2、對(duì)java異常機(jī)制的理解和運(yùn)用。(二)課程目標(biāo)課程目標(biāo)包括知識(shí)目標(biāo)和能力目標(biāo),具體如下:課程目標(biāo)1:要求學(xué)生在掌握java基本編程原理和思想的基礎(chǔ)上深入理解java技術(shù)的各項(xiàng)技術(shù)細(xì)節(jié),深入理解java語(yǔ)言的異常處理,多線程編程,反射,類加載器等核心機(jī)制和相關(guān)編程技巧以及如何在實(shí)際軟件工程項(xiàng)目中合理使用數(shù)據(jù)結(jié)構(gòu)避免潛在的安全性問(wèn)題。課程目標(biāo)2:能夠運(yùn)用計(jì)算思維分析問(wèn)題和解決問(wèn)題,針對(duì)計(jì)算機(jī)領(lǐng)域復(fù)雜工程問(wèn)題,分析并抽象出涉及的數(shù)據(jù)元素以及它們內(nèi)在的邏輯關(guān)系。課程目標(biāo)3:能夠綜合運(yùn)用java語(yǔ)言的各種高級(jí)特性,在實(shí)踐中熟練使用,避免一些常見的安全性問(wèn)題。(三)課程目標(biāo)與專業(yè)畢業(yè)要求指標(biāo)點(diǎn)的對(duì)應(yīng)關(guān)系本

3、課程支撐專業(yè)培養(yǎng)計(jì)劃中的畢業(yè)要求指標(biāo)點(diǎn)6.3, 7.3和8.3。畢業(yè)要求指標(biāo)點(diǎn)6.3:能夠評(píng)價(jià)計(jì)算機(jī)科學(xué)與技術(shù)工程專業(yè)實(shí)踐和解決方案對(duì)社會(huì)、健康、安全、法律以及文化的影響,并理解應(yīng)承擔(dān)的責(zé)任。畢業(yè)要求指標(biāo)點(diǎn)7.3:正確認(rèn)識(shí)計(jì)算機(jī)工程實(shí)踐對(duì)于客觀世界和社會(huì)的貢獻(xiàn)和影響,理解用技術(shù)手段降低其負(fù)面影響的作用與局限性。畢業(yè)要求指標(biāo)點(diǎn)8.3:能夠在計(jì)算機(jī)科學(xué)與技術(shù)工程實(shí)踐中理解并遵守工程職業(yè)道德和規(guī)范,履行責(zé)任。課程目標(biāo)畢業(yè)要求指標(biāo)點(diǎn)課程目標(biāo)1課程目標(biāo)2課程目標(biāo)3畢業(yè)要求6.3畢業(yè)要求7.3畢業(yè)要求8.3二、課程內(nèi)容及教學(xué)要求(按章撰寫)本課程為java程序設(shè)計(jì)的進(jìn)階課程,要求學(xué)生在掌握java基本編程

4、原理和思想的基礎(chǔ)上深入理解java技術(shù)的各項(xiàng)技術(shù)細(xì)節(jié),深入理解java語(yǔ)言的異常處理,多線程編程,反射,類加載器等核心機(jī)制和相關(guān)編程技巧以及如何在實(shí)際軟件工程項(xiàng)目中合理使用數(shù)據(jù)結(jié)構(gòu)避免潛在的安全性問(wèn)題。第1章內(nèi)存管理(2)1.1 內(nèi)存管理(1)(1)了解內(nèi)存和寄存器的區(qū)別;(2)理解堆,棧,BSS區(qū),Data區(qū),代碼區(qū)等的特點(diǎn);(3)掌握內(nèi)存分配和管理的原理;重點(diǎn):內(nèi)存分配和管理的原理難點(diǎn):理解堆,棧,BSS區(qū),Data區(qū),代碼區(qū)等的特點(diǎn)1.2java內(nèi)存管理(學(xué)時(shí)數(shù))(1)(1)了解java垃圾回收機(jī)制的工作原理;(2)理解產(chǎn)生內(nèi)存泄露的原因;(3)理解hashcode方法,掌握hashco

5、de和equals方法的區(qū)別和聯(lián)系;重點(diǎn):java垃圾回收機(jī)制難點(diǎn):,掌握hashcode和equals方法的區(qū)別和聯(lián)系第2章 java的反射技術(shù)(2)2.1 反射的基本概念(1)(1)了解Class類;(2)理解反射相關(guān)的類比如Field,Method等類;(3)掌握反射技術(shù)的運(yùn)用;重點(diǎn):理解反射的概念難點(diǎn):掌握Class類2.2反射技術(shù)實(shí)踐(學(xué)時(shí)數(shù))(1)(1)了解反射相關(guān)的方法;(2)理解為什么會(huì)需要使用反射技術(shù),理解動(dòng)態(tài)語(yǔ)言的特點(diǎn);(3)掌握如何使用反射技術(shù)對(duì)類成員變量和方法的調(diào)用;重點(diǎn):理解反射和動(dòng)態(tài)語(yǔ)言的概念和特點(diǎn)難點(diǎn):,靈活掌握并運(yùn)用反射技術(shù)第3章HashSet,ArrayLis

6、t和Hashcode原理分析(2)(1)了解set和List基本概念;(2)理解set和list各自存儲(chǔ)的特點(diǎn)和機(jī)制;(3)掌握hashcode方法的特點(diǎn)和用途(4)重點(diǎn):hashcode方法的特點(diǎn)和用途難點(diǎn):理解Hashcode方法在的存儲(chǔ)特點(diǎn)和實(shí)現(xiàn)方式第4章內(nèi)省和JavaBean原理分析(2)(1)了解javaBean的簡(jiǎn)單內(nèi)省操作;(2)理解javaBean內(nèi)省的復(fù)雜運(yùn)用;(3)使用BeanUtils工具操作javabean重點(diǎn):內(nèi)省的機(jī)制和原理難點(diǎn):javaBean的內(nèi)省操作第5章了解和應(yīng)用注釋(2)(1)了解注解的概念和簡(jiǎn)單運(yùn)用;(2)注解的定義和反射調(diào)用(3)為注解增加各種屬性(4

7、)用注解控制方法的訪問(wèn)權(quán)限重點(diǎn):注解的反射調(diào)用難點(diǎn):用注解控制方法的訪問(wèn)權(quán)限第6章泛型的內(nèi)部機(jī)制和運(yùn)用(4)6.1 泛型的概念和內(nèi)部機(jī)制(2)(1)了解泛型的基本運(yùn)用;(2)理解泛型的內(nèi)部機(jī)制,如何通過(guò)反射獲得泛型的實(shí)際參數(shù)類型;(3)掌握泛型的通配符擴(kuò)展運(yùn)用;重點(diǎn):泛型的內(nèi)部機(jī)制的理解難點(diǎn):泛型的通配符擴(kuò)展運(yùn)用6.2泛型的綜合運(yùn)用(學(xué)時(shí)數(shù))(2)(1)理解自定義泛型的概念和用法;(2)理解自定義泛型和類型腿短;(3)掌握自定義泛型的運(yùn)用;重點(diǎn):自定義泛型的概念和用法難點(diǎn):,自定義泛型的運(yùn)用第7章類加載器工作原理以及委托模式(2)(1)掌握Class類的基本概念;(2)理解類加載器的概念(3)

8、掌握類加載器的工作原理(4)理解類加載器的委托模式重點(diǎn):類加載器的工作原理難點(diǎn):委托模式的理解和運(yùn)用第8章多線程以及線程安全(4)8.1傳統(tǒng)線程技術(shù)回顧(2)(1)了解線程互斥技術(shù);(2)理解線程同步通信技術(shù);(3)掌握線程范圍內(nèi)共享變量的概念與作用;重點(diǎn):線程互斥技術(shù)的理解難點(diǎn):線程范圍內(nèi)共享變量的掌握8.2java線程鎖技術(shù)(學(xué)時(shí)數(shù))(2)(1)理解死鎖和線程安全的概念;(2)理解java線程鎖技術(shù);(3)掌握java讀寫鎖技術(shù);(4)掌握java條件阻塞和condition的應(yīng)用;重點(diǎn):線程鎖技術(shù)和讀寫鎖技術(shù)的掌握和應(yīng)用難點(diǎn):,條件阻塞的概念和運(yùn)用三、本課程開設(shè)的實(shí)驗(yàn)項(xiàng)目序號(hào)項(xiàng)目名稱所需

9、學(xué)時(shí)內(nèi)容提要項(xiàng)目要求實(shí)驗(yàn)類型必開選開實(shí)驗(yàn)一反射技術(shù)的綜合運(yùn)用2應(yīng)用反射技術(shù)實(shí)現(xiàn)對(duì)一個(gè)類的成員變量,方法的調(diào)用和修改是驗(yàn)證實(shí)驗(yàn)二自定義泛型的綜合應(yīng)用2編寫一個(gè)應(yīng)用自定義泛型的類并測(cè)試是驗(yàn)證實(shí)驗(yàn)三注釋的綜合運(yùn)用2利用注釋實(shí)現(xiàn)方法的權(quán)限控制是綜合實(shí)驗(yàn)四動(dòng)態(tài)代理模式實(shí)踐2在代碼中運(yùn)用動(dòng)態(tài)代理模式是綜合實(shí)驗(yàn)五javaBean的內(nèi)省實(shí)踐2熟練掌握javabean的內(nèi)省操作是綜合實(shí)驗(yàn)六多線程以及線程安全的應(yīng)用2通過(guò)實(shí)現(xiàn)一個(gè)多線程售票系統(tǒng)來(lái)掌握多線程和線程安全是綜合實(shí)驗(yàn)七線程互斥與線程鎖的實(shí)踐2在實(shí)踐編碼過(guò)程中實(shí)現(xiàn)線程互斥和線程鎖是綜合實(shí)驗(yàn)1:反射技術(shù)的綜合運(yùn)用1. 實(shí)驗(yàn)?zāi)康募耙?)了解反射技術(shù)的概念2)理

10、解反射的用途3)利用反射技術(shù)解決問(wèn)題2. 實(shí)驗(yàn)主要內(nèi)容1)先自己寫一個(gè)類,要求這個(gè)類又共有私有的成員變量和方法,和靜態(tài)成員變量和方法2)使用反射技術(shù)訪問(wèn)調(diào)用這個(gè)類的所有成員方法和變量3.重點(diǎn)和難點(diǎn)數(shù)量掌握反射技術(shù)實(shí)驗(yàn)2:自定義泛型的綜合應(yīng)用1. 實(shí)驗(yàn)?zāi)康募耙?) 掌握泛型概念2)掌握自定義泛型的技術(shù)3)熟練運(yùn)用泛型技術(shù)2. 實(shí)驗(yàn)主要內(nèi)容1)使用泛型實(shí)現(xiàn)一個(gè)類中的所有方法2)定義一個(gè)自定義泛型的類3)使用泛型技術(shù)處理int,double,float類型的數(shù)組排序3. 重難點(diǎn)掌握自定義泛型類實(shí)驗(yàn)3:注釋的綜合運(yùn)用1. 實(shí)驗(yàn)?zāi)康募耙?) 了解注釋的概念2)掌握自定義注釋技術(shù);3)掌握自定義注釋控

11、制方法訪問(wèn)權(quán)限的技術(shù)2. 實(shí)驗(yàn)主要內(nèi)容1)訪問(wèn)自己的自定義注釋2)讀取自定義注釋的內(nèi)容3)利用自定義注釋控制訪問(wèn)全新啊3. 重難點(diǎn)使用自定義注釋控制方法訪問(wèn)權(quán)限實(shí)驗(yàn)4:動(dòng)態(tài)代理模式實(shí)踐1. 實(shí)驗(yàn)?zāi)康募耙?) 掌握代理的概念2)掌握動(dòng)態(tài)代理的概念3)實(shí)現(xiàn)動(dòng)態(tài)代理模式2. 實(shí)驗(yàn)主要內(nèi)容1)實(shí)現(xiàn)一個(gè)普通代理類2)實(shí)現(xiàn)一個(gè)動(dòng)態(tài)代理類3)用動(dòng)態(tài)代理實(shí)現(xiàn)訪問(wèn)數(shù)據(jù)庫(kù)3. 重難點(diǎn)掌握動(dòng)態(tài)代理的實(shí)現(xiàn)技術(shù)實(shí)驗(yàn)5:javaBean的內(nèi)省實(shí)踐1. 實(shí)驗(yàn)?zāi)康募耙?) 了解javaBean的概念2)掌握使用javaBean實(shí)現(xiàn)基本功能。2. 實(shí)驗(yàn)主要內(nèi)容1)自己寫一個(gè)javaBean的類2)使用javaBean技術(shù)訪

12、問(wèn)這個(gè)類3)使用這個(gè)類實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)3. 重難點(diǎn)掌握javaBean的實(shí)現(xiàn)技術(shù)實(shí)驗(yàn)6:多線程以及線程安全的應(yīng)用1. 實(shí)驗(yàn)?zāi)康募耙?) 掌握多線程概念2)掌握死鎖的概念3)掌握線程同步概念2. 實(shí)驗(yàn)主要內(nèi)容1)自己實(shí)現(xiàn)一個(gè)多線程售票程序2)為售票程序加上防止死鎖功能3)實(shí)現(xiàn)線程同步3. 重難點(diǎn)實(shí)現(xiàn)線程同步和防止死鎖實(shí)驗(yàn)7:線程互斥與線程鎖的實(shí)踐1. 實(shí)驗(yàn)?zāi)康募耙?)掌握線程互斥的概念2)掌握線程通信技術(shù)3)如何使用鎖來(lái)實(shí)現(xiàn)線程互斥2. 實(shí)驗(yàn)主要內(nèi)容1)實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型2)在模型中實(shí)現(xiàn)線程間通信3)防止線程死鎖3. 重難點(diǎn)線程通信的概念和技術(shù)注:本課程為專業(yè)課,授課對(duì)象為大三學(xué)生,實(shí)驗(yàn)

13、類型主要包括驗(yàn)證性和設(shè)計(jì)性實(shí)驗(yàn),均需要提交實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告主要包括實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)內(nèi)容、預(yù)習(xí)內(nèi)容、實(shí)驗(yàn)步驟、算法的時(shí)間復(fù)雜度分析以及總結(jié)。實(shí)驗(yàn)評(píng)價(jià)內(nèi)容和評(píng)分細(xì)則參見附錄1。四、學(xué)時(shí)分配及教學(xué)方法章教學(xué)形式及學(xué)時(shí)分配主要教學(xué)方法支撐的課程目標(biāo)課堂教學(xué)實(shí)驗(yàn)上機(jī)課程實(shí)踐小計(jì)第一章內(nèi)存管理22講授、案例、演示課程目標(biāo)1,2第二章java的反射技術(shù)224講授、案例、自學(xué)、實(shí)驗(yàn)課程目標(biāo)1,2第三章HashSet,ArrayList和Hashcode原理分析44講授、對(duì)比、自學(xué)、討論、實(shí)驗(yàn)課程目標(biāo)1-3第四章內(nèi)省和JavaBean原理分析222講授、演示、自學(xué)、實(shí)驗(yàn)課程目標(biāo)1,2第五章了解和應(yīng)用注釋22講授

14、、自學(xué)課程目標(biāo)1,2第六章泛型的內(nèi)部機(jī)制和運(yùn)用224講授、案例、演示、討論、自學(xué)、實(shí)驗(yàn)課程目標(biāo)1-3第七章泛型的綜合運(yùn)用224講授、案例、演示、討論、自學(xué)、實(shí)驗(yàn)課程目標(biāo)1-3第八章類加載器工作原理以及委托模式22講授、案例、演示、實(shí)驗(yàn)課程目標(biāo)1-3第九章多線程以及線程安全246講授、案例、演示、實(shí)驗(yàn)課程目標(biāo)1-3合計(jì)201232注:1.課程實(shí)踐學(xué)時(shí)按相關(guān)專業(yè)培養(yǎng)計(jì)劃列入表格; 2.主要教學(xué)方法包括講授法、討論法、演示法、研究型教學(xué)方法(基于問(wèn)題、項(xiàng)目、案例等教學(xué)方法)等。五、課程考核 1. 課程考核方式包括期末考試、平時(shí)作業(yè)和實(shí)驗(yàn)情況考核??己诵问娇己艘罂己藱?quán)重備注平時(shí)作業(yè)及階段測(cè)試課后完成

15、1015個(gè)習(xí)題,主要考核學(xué)生對(duì)每節(jié)課知識(shí)點(diǎn)的復(fù)習(xí)、理解和掌握度,計(jì)算全部作業(yè)的平均成績(jī)?cè)侔?5%計(jì)入總成績(jī);可讓學(xué)生查閱資料,了解本課程相關(guān)技術(shù)發(fā)展情況,自主學(xué)習(xí)并完成。15%根據(jù)平時(shí)作業(yè)得分取平均值或結(jié)合平時(shí)測(cè)試情況實(shí)驗(yàn)完成6個(gè)實(shí)驗(yàn),主要訓(xùn)練學(xué)生應(yīng)用所學(xué)知識(shí)構(gòu)建實(shí)驗(yàn)系統(tǒng),并進(jìn)行實(shí)驗(yàn)的能力,最后按15%計(jì)入課程總成績(jī)。15%評(píng)分細(xì)則見附錄1期末考試試卷題型包括選擇題、填空題、判斷題、應(yīng)用題、算法題5大類,以卷面成績(jī)的70%計(jì)入課程總成績(jī)。其中考核基礎(chǔ)知識(shí)及應(yīng)用能力的題占90%;考核能針對(duì)個(gè)人或職業(yè)發(fā)展的需求,采用合適的方法,自主學(xué)習(xí),適應(yīng)發(fā)展占比10%。70%期末考試采用閉卷筆試。六、參考書目

16、及學(xué)習(xí)資料1. Java編程思想,作者:美??藸枺霭嫔纾簷C(jī)械工業(yè)出版社,出版時(shí)間:2007年6月2.Java語(yǔ)言程序設(shè)計(jì),作者:Y.Daniel Liang,出版社:機(jī)械工業(yè)出版社,出版時(shí)間:2015年月3.深入分析Java Web技術(shù)內(nèi)幕,作者:許玲波,出版社:電子工業(yè)出版社出版時(shí)間:2014年月4.深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐,作者:周志明,出版社:機(jī)械工業(yè)出版,七、大綱說(shuō)明1. 主要采用多媒體教學(xué)手段,主要知識(shí)點(diǎn)板書與多媒體相結(jié)合,多種教學(xué)手段綜合運(yùn)用。2. 課后共需完成近15道習(xí)題作業(yè),以評(píng)價(jià)學(xué)生對(duì)所學(xué)內(nèi)容的理解和應(yīng)用情況。 附錄1:實(shí)驗(yàn)考核方式及評(píng)分細(xì)則本實(shí)驗(yàn)以考查為主,考核的內(nèi)容包括實(shí)驗(yàn)過(guò)程的表現(xiàn)(其中包含分析與解決問(wèn)題的能力)、實(shí)驗(yàn)報(bào)告的質(zhì)量等。分析與解決問(wèn)題的能力采用提問(wèn)和現(xiàn)場(chǎng)操作的方式進(jìn)行。實(shí)驗(yàn)成績(jī)中出勤、預(yù)習(xí)占10%,實(shí)驗(yàn)過(guò)程表現(xiàn)占60、實(shí)驗(yàn)報(bào)告及思考題占30。成績(jī)組成考核/評(píng)價(jià)環(huán)節(jié)分值考核/評(píng)價(jià)細(xì)則對(duì)應(yīng)的畢業(yè)要求指標(biāo)點(diǎn)出勤、預(yù)習(xí)10%出勤狀況,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論