2017-2018-1 20155331 《信息安全系统设计基础》课程总结
第一周:http://www.cnblogs.com/dd1174751354/p/7589087.html
掌握核心的linux命令,了解linux操作系统
学习目标:熟悉Linux系统下的开发环境
熟悉vi的基本操作
熟悉gcc编译器的基本原理
熟练使用gcc编译器的常用选项
熟练使用gdb调试技术
熟悉makefile基本原理及语法规范
掌握静态库和动态库的生成与调用方法
理解C程序中模块的概仿,模块分解的“高内聚,低耦合”的原则
了解链接的概念
第二周:http://www.cnblogs.com/dd1174751354/p/7617821.html
补充完成课上没有完成的内容
第三周:http://www.cnblogs.com/dd1174751354/p/7673931.html
计算机中各种数的表示和运算
学习目标:理解二进制在计算机中的重要地位
掌握布尔运算在C语言中的应用
理解有符号整数、无符号整数、浮点数的表示
理解补码的重要性
能避免C语言中溢出,数据类型转换中的陷阱和可能会导致的漏洞
进一步理解“信息=位+上下文”
第四周:http://www.cnblogs.com/dd1174751354/p/7674814.html
学习目标:学习任务
补充完成课上没有完成的内容
学习教材附录A,第十章内容:掌握系统编程错误处理的方式;掌握Unix/Linux系统级I/O:open close read write seek stat;掌握I/O重定向的方法
参考实验楼课程资料:实验十一,课程邀请码:W7FQKW4Y
参考别出心裁的Linux系统调用学习法,学习视频,掌握两个重要命令:
man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
grep -nr XXX /usr/include :查找宏定义,类型定义
完成head,tail的使用,相关API的分析,伪代码,产品代码,测试代码的编写
实验一:http://www.cnblogs.com/dd1174751354/p/7710816.html
交叉编译环境
第五周:http://www.cnblogs.com/dd1174751354/p/7712524.html
学习目标
理解逆向的概念
掌握X86汇编基础,能够阅读(反)汇编代码
了解ISA(指令集体系结构)
理解函数调用栈帧的概念,并能用GDB进行调试
第六周:http://www.cnblogs.com/dd1174751354/p/7750863.html
学习目标
了解异常及其种类
理解进程和并发的概念
掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
理解数组指针、指针数组、函数指针、指针函数的区别
理解信号机制:kill,alarm,signal,sigaction
掌握管道和I/O重定向:pipe, dup, dup2
第六周课堂实践:http://www.cnblogs.com/dd1174751354/p/7751886.html
缓冲区溢出漏洞实验:http://www.cnblogs.com/dd1174751354/p/7751912.html
ch02 课下作业: http://www.cnblogs.com/dd1174751354/p/7751941.html
实验二:http://www.cnblogs.com/dd1174751354/p/7788955.html
固件程序设计
第七周:http://www.cnblogs.com/dd1174751354/p/7789089.html
学习目标
1.了解ISA抽象的作用
2.掌握ISA,并能举一反三学习其他体系结构
3.了解流水线和实现方式
第八周课上测试:http://www.cnblogs.com/dd1174751354/p/7822595.html
第八周:http://www.cnblogs.com/dd1174751354/p/7823074.html
学习目标
掌握三种并发的方式:进程、线程、I/O多路复用
掌握线程控制及相关系统调用
掌握线程同步互斥及相关系统调用
第九周:http://www.cnblogs.com/dd1174751354/p/7860641.html
学习目标
了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
理解局部性原理
理解缓存思想
理解局部性原理和缓存思想在存储层次结构中的应用
高速缓存的原理和应用
实现mypwd:http://www.cnblogs.com/dd1174751354/p/7861986.html
1 学习pwd命令
2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码
3 实现mypwd
4 测试mypwd
实验三:http://www.cnblogs.com/dd1174751354/p/7865489.html
实时系统
第十周课上作业:http://www.cnblogs.com/dd1174751354/p/7900562.html
课下测试(ch10):http://www.cnblogs.com/dd1174751354/p/7902609.html
当时网页卡了,刷新两次后答题机会就全变没了。
第11周:http://www.cnblogs.com/dd1174751354/p/7966724.html
学习目标
理解虚拟存储器的概念和作用
理解地址翻译的概念
理解存储器映射
掌握动态存储器分配的方法
理解垃圾收集的概念
了解C语言中与存储器有关的错误
实验四:http://www.cnblogs.com/dd1174751354/p/7967559.html
外设驱动程序设计
第十三周:http://www.cnblogs.com/dd1174751354/p/8053656.html
找出全书你认为最重要的一章,深入重新学习一下,
实验五:http://www.cnblogs.com/dd1174751354/p/8053720.html
通讯协议设计
第十四周:http://www.cnblogs.com/dd1174751354/p/8098858.html
学习目标
找出全书你认为学得最差的一章,深入重新学习一下。
截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
因为之前虚拟机出过一次问题,所以之后的都是整个一起交的。
你有什么项目被加分,谈谈你的经验
第二周:http://www.cnblogs.com/dd1174751354/p/7617821.html
第六周课堂实践:http://www.cnblogs.com/dd1174751354/p/7751886.html
缓冲区溢出漏洞实验:http://www.cnblogs.com/dd1174751354/p/7751912.html
ch02 课下作业: http://www.cnblogs.com/dd1174751354/p/7751941.html
第八周课上测试:http://www.cnblogs.com/dd1174751354/p/7822595.html
实现mypwd:http://www.cnblogs.com/dd1174751354/p/7861986.html
第十周课上作业:http://www.cnblogs.com/dd1174751354/p/7900562.html
课下测试(ch10):http://www.cnblogs.com/dd1174751354/p/7902609.html
经验: 每个问题都要弄懂弄透,要详细记录学习的过程和修正过程
你有什么项目被扣分,谈谈你的教训
无项目被扣分
课程收获与不足
本学期的课程学习下来感觉还是有点吃力,要学的内容不少,而且难度也挺高,主要是感觉在实践方面还是比较薄弱,希望以后在这方面能加强锻炼。
给开学初的你和学弟学妹们的学习建议
平常要学会尽量多动手来增加时间能力,课上要好好记笔记。
问卷调查
你平均每周投入到本课程多长时间?
平均在20到25小时
每周的学习效率有提高吗?
大多数时候是有的,但在内容很多作业很多的时候就有点力不从心
学习效果自己满意吗?
一般
课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
可能坚持不下来
你觉得这门课老师应该继续做哪一件事情?
继续上课讲解
你觉得这门课老师应该停止做哪一件事情?
对课堂测试实践方面的内容不讲解
你觉得这门课老师应该开始做什么新的事情?
目前都挺好的。