2021-2022-1 《信息安全系统设计与实现(上)》教学进程
《信息安全系统设计与实现(上)》教学进程
目录
考核方式
参考「《信息安全系统设计基础》 课程教学」中的考核方式。
暑假准备
进入课程云班课,复习或学习
课程基础
-
阅读「使用博客园进行学习」,并建立个人技术博客
-
关注班级博客「2019-2020-1 信息安全系统设计基础(北京电子科技学院) 」.
-
阅读「使用开源中国托管代码」并完成作业,注意不要与上学期《Java程序设计》用同一个代码库。
-
在实验楼注册账号(注意体现学号信息),然后点击配套实验课程进入实验楼实验环境,点击『加入私有课程』,《信息安全设计基础》的课程码:
W7FQKW4Y
,个人信息
填“学号+姓名”。 -
教材学习导读: 《深入理解计算机系统V2》学习指导
学习实验楼实践教程:
教学进程
学习方法
- 进度很重要:注意前紧后松,必须跟上每周的进度,教材阅读与总结,教材上的练习,问答小组,项目。我和助教们会认真对待每一位同学,请你不要因为困难而放弃,坚持下来,会发现自己的不可思议。
- 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到课程讨论小组
- 实践很重要:解决书中习题,实践教材中实例,完成个人和团队项目,才算真的消化了课程内容。可以通过实验楼的课程配套环境或自己安装的虚拟机在实践中进行学习。
- 学习总结、实验报告很重要:总结学习与实践中的问题,得到老师和同学们的反馈,是进步的捷径。学习完成后在博客园中把学习过程通过博客(随笔)发表,博客标题“学号《信息安全系统设计基础》第x周学习总结”
总结模板(Markdown)如下:
# 2018-2019-1 学号 《信息安全系统设计基础》第X周学习总结
## 教材学习内容总结
尽量简单的总结一下本周学习内容
尽量不要抄书,浪费时间
看懂就过,看不懂,学习有心得的记一下
## 教材学习中的问题和解决过程
(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
## 代码调试中的问题和解决过程
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
## [代码托管](码云学习项目链接)
(statistics.sh脚本的运行结果截图)
## 上周考试错题总结
- 错题1及原因,理解情况
- 错题2及原因,理解情况
- ...
## 其他(感悟、思考等,可选)
xxx
xxx
## 学习进度条
| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| -------- | :----------------:|:----------------:|:---------------: |:-----:|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考:[软件工程软件的估计为什么这么难](http://www.cnblogs.com/xinz/archive/2011/04/05/2005978.html),[软件工程 估计方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)
- 计划学习时间:XX小时
- 实际学习时间:XX小时
- 改进情况:
(有空多看看[现代软件工程 课件
软件工程师能力自我评价表](http://www.cnblogs.com/xinz/p/3852177.html))
## 参考资料
- [《深入理解计算机系统V3》学习指导]([http://www.cnblogs.com/rocedu/p/5826467.html])
- ...
上面模板中用Markdown写的总结的渲染效果如下:
博客要用作业提交,如下图所示:
第一周学习指导
学习目标
- 熟悉Linux系统下的开发环境
- 熟悉vi的基本操作
- 熟悉gcc编译器的基本原理
- 熟练使用gcc编译器的常用选项
- 熟练使用gdb调试技术
- 熟悉makefile基本原理及语法规范
- 掌握静态库和动态库的生成与调用方法
- 理解C程序中模块的概仿,模块分解的“高内聚,低耦合”的原则
- 了解链接的概念
学习资源
-
教材:第一章、第七章
-
《嵌入式Linux应用程序开发标准教程》第三章3.1-3.5
-
实验楼课程资料:实验二、八,课程邀请码:W7FQKW4Y
-
教学视频: 参考第十个视频
-
视频:下载地址
-
Linxu系统编程:实验2、3、4
-
阅读 「反作弊」:任何时候发现同学们有抄袭作业,抄袭代码的情况,即时课程总成绩清零
学习任务
-
必学内容:教材第一章,第七章(第七章内容可以《嵌入式Linux应用程序开发标准教程》第三章3.1-3.5),喜欢听课的可以参考蓝墨云班课视频,完成蓝墨云班课中的测试。
-
选学内容:根据自己情况,学习学习资源中其他内容
-
实验楼课程资料:实验二,课程邀请码:W7FQKW4Y
-
把学习中的代码进行托管,博客中给出代码链接
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第一周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
- 快速浏览一遍教材,课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题
- 提高学习效率,提高写博客效率:尽量少摘抄书上的内容,主要写有疑惑和有收获的内容
- 截止时间:本周日 24:00,不按时发博客要扣1分,优秀博客加1分
- 不按上面的模板写的要重写,否则会扣1分
- 严禁抄袭,违反者总成绩清零
第二周
学习目标
- 理解二进制在计算机中的重要地位
- 掌握布尔运算在C语言中的应用
- 理解有符号整数、无符号整数、浮点数的表示
- 理解补码的重要性
- 能避免C语言中溢出,数据类型转换中的陷阱和可能会导致的漏洞
- 进一步理解“信息=位+上下文”
学习资源
- 教材:第二章《信息的表示和处理》,详细学习指导见教材导读与每周考试重点。
- 实验楼课程资料: 实验三,课程邀请码:W7FQKW4Y
- 教材中代码运行、思考一下,读代码的学习方法见积极主动敲代码,使用JUnit学习Java。
学习任务
-
必学内容:第二章《信息的表示和处理》,详细学习指导见教材导读与每周考试重点。喜欢听课的可以参考蓝墨云班课视频,完成蓝墨云班课中的测试。
-
选学内容:根据自己情况,学习学习资源中其他内容
-
实验楼课程资料:实验三,课程邀请码:W7FQKW4Y
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第二周学习总结”,博客(随笔)要通过作业提交,截止时间周末。
第三周
学习目标
- 理解逆向的概念
- 掌握X86汇编基础,能够阅读(反)汇编代码
- 了解ISA(指令集体系结构)
- 理解函数调用栈帧的概念,并能用GDB进行调试
学习资源
-
教材:第三章《程序的机器级表示》,详细学习指导见教材导读与每周考试重点。:重点是3.7节,3.11节
-
实验楼课程资料:实验四,课程邀请码:W7FQKW4Y
-
教材中代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
-
云班课资料、测试
学习任务
-
必学内容
- 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
- 教材3.1-3.7节中练习,重点:3.1,3.3,3.5,3.6,3.9,3.14,3.15,3.16,3.22,3.23,3.27,3.29,3.30,3.33,3.34
-
喜欢听课的可以参考蓝墨云班课视频,完成蓝墨云班课中的测试。
-
选学内容:根据自己情况,学习学习资源中其他内容
-
实验楼课程资料:实验四,课程邀请码:W7FQKW4Y
-
动手实践: Linux内核分析 第一节实验
-
阅读「2016-2017-1 《信息安全系统设计基础》加扣分项目」,找自己的兴趣点实践加分。
-
把学习中的代码进行托管,博客中给出代码链接
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第三周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第四周
学习目标
- 了解ISA抽象的作用
- 掌握ISA,并能举一反三学习其他体系结构
- 了解流水线和实现方式
学习资源
- 教材:第四章《处理器体系结构》,详细学习指导见教材导读与每周考试重点。:重点是4.1节,4.2节,4.3节。
- 实验楼课程资料:实验五,课程邀请码:W7FQKW4Y
学习任务
-
必学内容
- 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
- 教材中相关代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
- 教材4.1-4.3中练习,重点:4.1 4.2 4.5 4.6 4.8 4.10 4.11 4.12 4.16 4.17 4.19 4.21 4.24
-
喜欢听课的可以参考蓝墨云班课视频,完成蓝墨云班课中的测试。
-
实验楼课程资料:实验五,课程邀请码:W7FQKW4Y
-
阅读「2016-2017-1 《信息安全系统设计基础》加扣分项目」,找自己的兴趣点实践加分。
-
把学习中的代码进行托管,博客中给出代码链接
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第四周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第五周
学习目标
- 了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
- 理解局部性原理
- 理解缓存思想
- 理解局部性原理和缓存思想在存储层次结构中的应用
- 高速缓存的原理和应用
学习资源
- 教材:第六章《存储器层次结构》,详细学习指导见教材导读与每周考试重点。
- 实验楼课程资料:实验六、七,课程邀请码:W7FQKW4Y
学习任务
-
必学内容
- 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
- 教材中相关代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
- 教材练习重点:6.2 6.3 6.4 6.8 6.9 6.10 6.11 6.12 6.13
-
喜欢听课的可以参考蓝墨云班课视频,完成蓝墨云班课中的测试。
-
实验楼课程资料:实验七,课程邀请码:W7FQKW4Y
-
阅读「2016-2017-1 《信息安全系统设计基础》加扣分项目」,找自己的兴趣点实践加分。
-
把学习中的代码进行托管,博客中给出代码链接
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第五周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第六周
学习目标
- 了解系统调用及错误处理方法
- 理解IO处理及文件系统
- ;掌握Unix/Linux系统级I/O:open close read write seek stat;掌握I/O重定向的方法
学习资源
- 学习教材附录A,第十章内容:掌握系统编程错误处理的方式
- 实验楼课程资料:实验十一,课程邀请码:W7FQKW4Y
- 蓝墨云班课视频
学习任务
- 学习教材附录A,第十章内容:掌握系统编程错误处理的方式
- 参考实验楼课程资料:实验十一,课程邀请码:W7FQKW4Y
- 参考别出心裁的Linux系统调用学习法,学习视频,掌握两个重要命令:
- man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
- grep -nr XXX /usr/include :查找宏定义,类型定义
- 完成head,tail的使用,相关API的分析,伪代码,产品代码,测试代码的编写(3分)
- 发表相关内容的学习博客(课堂上完成实践内容的可以选做),博客标题“2019-2020-1 学号 《信息安全系统设计基础》第六周学习总结”,博客(随笔)要通过作业提交,截至时间 本周日 23:59。
第七周
学习目标
- 了解异常及其种类
- 理解进程和并发的概念
- 掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
- 理解数组指针、指针数组、函数指针、指针函数的区别
- 理解信号机制:kill,alarm,signal,sigaction
- 掌握管道和I/O重定向:pipe, dup, dup2
学习资源
- 教材:第八章《异常控制流》,第十章《系统级I/O》。详细学习指导见教材导读与每周考试重点。
- 别出心裁的Linux系统调用学习法: 学习方法,重点看
- 实验楼课程资料:课程邀请码:W7FQKW4Y
- 教学视频
学习任务
-
注意每个系统调用的参数、返回值,会查帮助文档
-
阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
-
学习视频,掌握两个重要命令:
- man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
- grep -nr XXX /usr/include :查找宏定义,类型定义
-
教材中相关代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
- 代码重点:课程演示代码
-
实验楼课程资料:实验九,课程邀请码:W7FQKW4Y
-
阅读「2016-2017-1 《信息安全系统设计基础》加扣分项目」,找自己的兴趣点实践加分。
-
把学习中的代码进行托管,博客中给出代码链接
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第六周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
- 完成课上测试的可以不写博客
- 补充完成课上实践内容
- 编程实现浮点数转换器
- 完成Linux内核分析实验一,注意用GDB跟踪每一步eip,ebp,esp,eax内容的变化。
第八周
学习目标
- 掌握三种并发的方式:进程、线程、I/O多路复用
- 掌握线程控制及相关系统调用
- 掌握线程同步互斥及相关系统调用
学习资源
- 教材:第十一章《网络编程》简单过一下(刘念老师讲过了,我们只考试),教材:第十二章《并发编程》。详细学习指导见教材导读与每周考试重点。
- 别出心裁的Linux系统调用学习法: 学习方法,重点看
- 实验楼课程资料,课程邀请码:W7FQKW4Y
- 教学视频
- 课后作业
学习任务
-
注意每个系统调用的参数、返回值,会查帮助文档
-
阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
-
学习视频,掌握两个重要命令:
- man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
- grep -nr XXX /usr/include :查找宏定义,类型定义
-
教材中相关代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
- 代码重点:课程演示代码
-
实验楼课程资料:实验十二,十三课程邀请码:W7FQKW4Y
-
阅读「2016-2017-1 《信息安全系统设计基础》加扣分项目」,找自己的兴趣点实践加分。
-
把学习中的代码进行托管,博客中给出代码链接
-
参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第八周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第九周
学习目标
- 理解虚拟存储器的概念和作用
- 理解地址翻译的概念
- 理解存储器映射
- 掌握动态存储器分配的方法
- 理解垃圾收集的概念
- 了解C语言中与存储器有关的错误
学习资源
- 教材:第九章《虚拟存储器》。详细学习指导见教材导读与每周考试重点。
- 实验楼课程资料,课程邀请码:W7FQKW4Y
- 教学视频
- 课后作业
学习任务
- 实验楼课程资料:实验十课程邀请码:W7FQKW4Y
- 阅读「2016-2017-1 《信息安全系统设计基础》加扣分项目」,找自己的兴趣点实践加分。
- 把学习中的代码进行托管,博客中给出代码链接
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“2019-2020-1 学号 《信息安全系统设计基础》第十一周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第十周
- 完成课上测试的可以不写博客
- 补充完成课上实践内容
- 完成课下作业并提交博客
第十一周
第十二周
试题总结,博客改进
第十三周(12.05-12.11)
找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分):
- 完成这一章所有习题
- 详细总结本章要点
- 给你的结对学习搭档讲解你的总结并获取反馈
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《信息安全系统设计基础》第十三周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第十四周(12.12-12.18)
找出全书你认为学得最差的一章,深入重新学习一下,要求(期末占5分):
- 总结新的收获
- 给你的结对学习搭档讲解或请教,并获取反馈
- 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题“学号 《信息安全系统设计基础》第十四周学习总结”,博客(随笔)要通过作业提交,截至时间本周日 23:59。
第十五周
要求
- 课程总结:这个总结写的好的会被选出来出成一本博客书,大家认真写一下,被选中的会送你一本。
- 文中的链接都要配上二维码,可以使用QQ中的工具或博客园的功能,点击自己每篇文章的最下面的微信图标就有二维码:
发表一篇博客
-
学号 《信息安全系统设计基础》课程总结
-
(按顺序)每周作业链接汇总
-
(按顺序)实验报告链接汇总
-
代码托管链接和二维码:
- 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
- 代码量汇总提交statistics.sh的支持截图
- 代码驱动的学习做到没有?
- 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
- 实践上有什么经验教训
-
整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点
-
回答一下第1周作业中自己提出的问题
-
你有什么项目被加分,谈谈你的经验
- 优秀作业(给出链接和二维码)
- 总结(给出链接和二维码)
- 项目(给出链接和二维码)
- 教程(给出链接和二维码)
- 竞赛
- ...
-
你有什么项目被扣分,谈谈你的教训
- 不动手实践
- 迟交作业
- 不验收代码
- ...
-
课程收获与不足
- 自己的收获(投入,效率,效果等)
- 自己需要改进的地方
- 如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
-
给开学初的你和学弟学妹们的学习建议
- 如果重新学习这门课,怎么做才可以学的更好
-
问卷调查
- 你平均每周投入到本课程多长时间?
- 每周的学习效率有提高吗?
- 学习效果自己满意吗?
- 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
- 你觉得这门课老师应该继续做哪一件事情?
- 你觉得这门课老师应该停止做哪一件事情?
- 你觉得这门课老师应该开始做什么新的事情?
-
其他任意发挥
-
给出你的总结的链接和二维码
-
第十六周
- 总结
- 补漏
- 成绩确认
- 深化
实验一
-
提交实验报告博客,一组写一篇,实验中贡献第二,第三的写博客答辩,贡献第一的可以给出同组同学的博客链接。
-
博客标题:学期(如2019-2020-1) 学号1 学号2 学号3 实验一 开发环境的熟悉
-
实验目的,实验步骤
-
实验中的问题及解决过程
-
新学到的知识点
- 交叉编译
- 宿主机与目标机
- NFS
- 超级终端
- file命令
- ...
实验二
-
提交实验报告博客,一组写一篇,实验中贡献小的写博客、答辩,贡献多的可以给出同组同学的博客链接。
-
博客标题:学期(如2019-2020-1) 学号1 学号2 学号3 实验二 固件程序设计
-
实验目的,实验步骤
-
实验中的问题及解决过程
-
新学到的知识点
实验三
-
提交实验报告博客,一组写一篇,实验中贡献小的写博客答辩,贡献多的可以给出同组同学的博客链接。
-
博客标题:学期(如2019-2020-1) 学号1 学号2 学号3 实验三 实时系统
-
实验目的,实验步骤,截图
-
实验中的问题及解决过程
-
新学到的知识点
实验四
-
提交实验报告博客,一组写一篇,实验中贡献小的写博客答辩,贡献多的可以给出同组同学的博客链接。
-
博客标题:学期(如2019-2020-1)学号1 学号2 学号3 实验四 外设驱动程序设计
-
实验目的,实验步骤,截图
-
实验中的问题及解决过程
-
新学到的知识点
实验五
- 提交实验报告博客,一组写一篇,实验中贡献小的写博客答辩,贡献多的可以给出同组同学的博客链接。
- 博客标题:学期(如2019-2020-1) 学号1 学号2 学号3 实验五 通讯协议设计
- 实验目的,实验步骤,截图
- 实验中的问题及解决过程
- 新学到的知识点
教材与参考资料
MOOC & 视频
其他
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!
-
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”