版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安全编程技术(Secure Programming Technology)课程代码:5261055学分:2学时:32(其中:课程教学学时:20,实验学时:12)先修课程:计算机导论、程序设计基础适用专业:计算机科学与技术教材:无开课学院:计算机与软件学院一、课程性质与课程目标(一)课程性质本课程为java编程技术的进阶课程,在熟悉和掌握java语言基本知识的基础上深入理解java语言底层原理。课程内容主要包括内存管理,java中异常的分类和本质,多线程,线程安全,反射概念以及编程技巧的掌握,类加载器的原理,一些基本常用的设计模式和泛型本质分析等,其中重点和难点是多线程,线程安全的理解和掌握以及
2、对java异常机制的理解和运用。(二)课程目标课程目标包括知识目标和能力目标,具体如下:课程目标1:要求学生在掌握java基本编程原理和思想的基础上深入理解java技术的各项技术细节,深入理解java语言的异常处理,多线程编程,反射,类加载器等核心机制和相关编程技巧以及如何在实际软件工程项目中合理使用数据结构避免潜在的安全性问题。课程目标2:能够运用计算思维分析问题和解决问题,针对计算机领域复杂工程问题,分析并抽象出涉及的数据元素以及它们内在的逻辑关系。课程目标3:能够综合运用java语言的各种高级特性,在实践中熟练使用,避免一些常见的安全性问题。(三)课程目标与专业毕业要求指标点的对应关系本
3、课程支撑专业培养计划中的毕业要求指标点6.3, 7.3和8.3。毕业要求指标点6.3:能够评价计算机科学与技术工程专业实践和解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。毕业要求指标点7.3:正确认识计算机工程实践对于客观世界和社会的贡献和影响,理解用技术手段降低其负面影响的作用与局限性。毕业要求指标点8.3:能够在计算机科学与技术工程实践中理解并遵守工程职业道德和规范,履行责任。课程目标毕业要求指标点课程目标1课程目标2课程目标3毕业要求6.3毕业要求7.3毕业要求8.3二、课程内容及教学要求(按章撰写)本课程为java程序设计的进阶课程,要求学生在掌握java基本编程
4、原理和思想的基础上深入理解java技术的各项技术细节,深入理解java语言的异常处理,多线程编程,反射,类加载器等核心机制和相关编程技巧以及如何在实际软件工程项目中合理使用数据结构避免潜在的安全性问题。第1章内存管理(2)1.1 内存管理(1)(1)了解内存和寄存器的区别;(2)理解堆,栈,BSS区,Data区,代码区等的特点;(3)掌握内存分配和管理的原理;重点:内存分配和管理的原理难点:理解堆,栈,BSS区,Data区,代码区等的特点1.2java内存管理(学时数)(1)(1)了解java垃圾回收机制的工作原理;(2)理解产生内存泄露的原因;(3)理解hashcode方法,掌握hashco
5、de和equals方法的区别和联系;重点:java垃圾回收机制难点:,掌握hashcode和equals方法的区别和联系第2章 java的反射技术(2)2.1 反射的基本概念(1)(1)了解Class类;(2)理解反射相关的类比如Field,Method等类;(3)掌握反射技术的运用;重点:理解反射的概念难点:掌握Class类2.2反射技术实践(学时数)(1)(1)了解反射相关的方法;(2)理解为什么会需要使用反射技术,理解动态语言的特点;(3)掌握如何使用反射技术对类成员变量和方法的调用;重点:理解反射和动态语言的概念和特点难点:,灵活掌握并运用反射技术第3章HashSet,ArrayLis
6、t和Hashcode原理分析(2)(1)了解set和List基本概念;(2)理解set和list各自存储的特点和机制;(3)掌握hashcode方法的特点和用途(4)重点:hashcode方法的特点和用途难点:理解Hashcode方法在的存储特点和实现方式第4章内省和JavaBean原理分析(2)(1)了解javaBean的简单内省操作;(2)理解javaBean内省的复杂运用;(3)使用BeanUtils工具操作javabean重点:内省的机制和原理难点:javaBean的内省操作第5章了解和应用注释(2)(1)了解注解的概念和简单运用;(2)注解的定义和反射调用(3)为注解增加各种属性(4
7、)用注解控制方法的访问权限重点:注解的反射调用难点:用注解控制方法的访问权限第6章泛型的内部机制和运用(4)6.1 泛型的概念和内部机制(2)(1)了解泛型的基本运用;(2)理解泛型的内部机制,如何通过反射获得泛型的实际参数类型;(3)掌握泛型的通配符扩展运用;重点:泛型的内部机制的理解难点:泛型的通配符扩展运用6.2泛型的综合运用(学时数)(2)(1)理解自定义泛型的概念和用法;(2)理解自定义泛型和类型腿短;(3)掌握自定义泛型的运用;重点:自定义泛型的概念和用法难点:,自定义泛型的运用第7章类加载器工作原理以及委托模式(2)(1)掌握Class类的基本概念;(2)理解类加载器的概念(3)
8、掌握类加载器的工作原理(4)理解类加载器的委托模式重点:类加载器的工作原理难点:委托模式的理解和运用第8章多线程以及线程安全(4)8.1传统线程技术回顾(2)(1)了解线程互斥技术;(2)理解线程同步通信技术;(3)掌握线程范围内共享变量的概念与作用;重点:线程互斥技术的理解难点:线程范围内共享变量的掌握8.2java线程锁技术(学时数)(2)(1)理解死锁和线程安全的概念;(2)理解java线程锁技术;(3)掌握java读写锁技术;(4)掌握java条件阻塞和condition的应用;重点:线程锁技术和读写锁技术的掌握和应用难点:,条件阻塞的概念和运用三、本课程开设的实验项目序号项目名称所需
9、学时内容提要项目要求实验类型必开选开实验一反射技术的综合运用2应用反射技术实现对一个类的成员变量,方法的调用和修改是验证实验二自定义泛型的综合应用2编写一个应用自定义泛型的类并测试是验证实验三注释的综合运用2利用注释实现方法的权限控制是综合实验四动态代理模式实践2在代码中运用动态代理模式是综合实验五javaBean的内省实践2熟练掌握javabean的内省操作是综合实验六多线程以及线程安全的应用2通过实现一个多线程售票系统来掌握多线程和线程安全是综合实验七线程互斥与线程锁的实践2在实践编码过程中实现线程互斥和线程锁是综合实验1:反射技术的综合运用1. 实验目的及要求1)了解反射技术的概念2)理
10、解反射的用途3)利用反射技术解决问题2. 实验主要内容1)先自己写一个类,要求这个类又共有私有的成员变量和方法,和静态成员变量和方法2)使用反射技术访问调用这个类的所有成员方法和变量3.重点和难点数量掌握反射技术实验2:自定义泛型的综合应用1. 实验目的及要求1) 掌握泛型概念2)掌握自定义泛型的技术3)熟练运用泛型技术2. 实验主要内容1)使用泛型实现一个类中的所有方法2)定义一个自定义泛型的类3)使用泛型技术处理int,double,float类型的数组排序3. 重难点掌握自定义泛型类实验3:注释的综合运用1. 实验目的及要求1) 了解注释的概念2)掌握自定义注释技术;3)掌握自定义注释控
11、制方法访问权限的技术2. 实验主要内容1)访问自己的自定义注释2)读取自定义注释的内容3)利用自定义注释控制访问全新啊3. 重难点使用自定义注释控制方法访问权限实验4:动态代理模式实践1. 实验目的及要求1) 掌握代理的概念2)掌握动态代理的概念3)实现动态代理模式2. 实验主要内容1)实现一个普通代理类2)实现一个动态代理类3)用动态代理实现访问数据库3. 重难点掌握动态代理的实现技术实验5:javaBean的内省实践1. 实验目的及要求1) 了解javaBean的概念2)掌握使用javaBean实现基本功能。2. 实验主要内容1)自己写一个javaBean的类2)使用javaBean技术访
12、问这个类3)使用这个类实现对数据库的访问3. 重难点掌握javaBean的实现技术实验6:多线程以及线程安全的应用1. 实验目的及要求1) 掌握多线程概念2)掌握死锁的概念3)掌握线程同步概念2. 实验主要内容1)自己实现一个多线程售票程序2)为售票程序加上防止死锁功能3)实现线程同步3. 重难点实现线程同步和防止死锁实验7:线程互斥与线程锁的实践1. 实验目的及要求1)掌握线程互斥的概念2)掌握线程通信技术3)如何使用锁来实现线程互斥2. 实验主要内容1)实现生产者消费者模型2)在模型中实现线程间通信3)防止线程死锁3. 重难点线程通信的概念和技术注:本课程为专业课,授课对象为大三学生,实验
13、类型主要包括验证性和设计性实验,均需要提交实验报告,实验报告主要包括实验目的、实验内容、预习内容、实验步骤、算法的时间复杂度分析以及总结。实验评价内容和评分细则参见附录1。四、学时分配及教学方法章教学形式及学时分配主要教学方法支撑的课程目标课堂教学实验上机课程实践小计第一章内存管理22讲授、案例、演示课程目标1,2第二章java的反射技术224讲授、案例、自学、实验课程目标1,2第三章HashSet,ArrayList和Hashcode原理分析44讲授、对比、自学、讨论、实验课程目标1-3第四章内省和JavaBean原理分析222讲授、演示、自学、实验课程目标1,2第五章了解和应用注释22讲授
14、、自学课程目标1,2第六章泛型的内部机制和运用224讲授、案例、演示、讨论、自学、实验课程目标1-3第七章泛型的综合运用224讲授、案例、演示、讨论、自学、实验课程目标1-3第八章类加载器工作原理以及委托模式22讲授、案例、演示、实验课程目标1-3第九章多线程以及线程安全246讲授、案例、演示、实验课程目标1-3合计201232注:1.课程实践学时按相关专业培养计划列入表格; 2.主要教学方法包括讲授法、讨论法、演示法、研究型教学方法(基于问题、项目、案例等教学方法)等。五、课程考核 1. 课程考核方式包括期末考试、平时作业和实验情况考核。考核形式考核要求考核权重备注平时作业及阶段测试课后完成
15、1015个习题,主要考核学生对每节课知识点的复习、理解和掌握度,计算全部作业的平均成绩再按15%计入总成绩;可让学生查阅资料,了解本课程相关技术发展情况,自主学习并完成。15%根据平时作业得分取平均值或结合平时测试情况实验完成6个实验,主要训练学生应用所学知识构建实验系统,并进行实验的能力,最后按15%计入课程总成绩。15%评分细则见附录1期末考试试卷题型包括选择题、填空题、判断题、应用题、算法题5大类,以卷面成绩的70%计入课程总成绩。其中考核基础知识及应用能力的题占90%;考核能针对个人或职业发展的需求,采用合适的方法,自主学习,适应发展占比10%。70%期末考试采用闭卷笔试。六、参考书目
16、及学习资料1. Java编程思想,作者:美埃克尔,出版社:机械工业出版社,出版时间:2007年6月2.Java语言程序设计,作者:Y.Daniel Liang,出版社:机械工业出版社,出版时间:2015年月3.深入分析Java Web技术内幕,作者:许玲波,出版社:电子工业出版社出版时间:2014年月4.深入理解Java虚拟机:JVM高级特性与最佳实践,作者:周志明,出版社:机械工业出版,七、大纲说明1. 主要采用多媒体教学手段,主要知识点板书与多媒体相结合,多种教学手段综合运用。2. 课后共需完成近15道习题作业,以评价学生对所学内容的理解和应用情况。 附录1:实验考核方式及评分细则本实验以考查为主,考核的内容包括实验过程的表现(其中包含分析与解决问题的能力)、实验报告的质量等。分析与解决问题的能力采用提问和现场操作的方式进行。实验成绩中出勤、预习占10%,实验过程表现占60、实验报告及思考题占30。成绩组成考核/评价环节分值考核/评价细则对应的毕业要求指标点出勤、预习10%出勤状况,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度铁路信号系统安装施工合同范本(含智能化升级)3篇
- 2025年度2024BGL气化炉耐火材料绿色生产与环保采购合同3篇
- 3二手房买卖合同(2024版)
- 2025年度竖井掘进工程施工废弃物综合利用合同3篇
- 专利权质押融资补充保障合同版B版
- 二零二五年度阿拉尔经济技术开发区生态旅游开发合作协议2篇
- 二零二五年度集装箱运输企业信用评价与风险管理合同3篇
- 二零二五年度钢铁企业出口信用担保合同3篇
- 2024版:医疗设备保险服务合同
- 二零二五年焊接施工环保责任协议3篇
- 2024年单位司机个人工作总结(6篇)
- 幼儿园幼教集团2025学年第二学期工作计划
- 【9物(北师)期末】阜阳市临泉县2023-2024学年九年级上学期期末考试物理试题
- 2024年考研管理类综合能力(199)真题及解析完整版
- 眼镜销售仪容仪表培训
- “两高”发布《关于办理拒不执行判决、裁定刑事案件适用法律若干问题的解释》(新旧对照表)
- 医生或医技岗位招聘面试题与参考回答(某大型国企)2024年
- 2024国考:公司座谈提纲2024
- 2024年扫地机器人市场动态及行业发展分析
- 艺术学概论学习通超星期末考试答案章节答案2024年
- 2024年区域牛羊肉独家代理销售协议
评论
0/150
提交评论