20145311 《信息安全系统设计基础》课程总结
2016-12-24 21:07
585 查看
20145311 《信息安全系统设计基础》课程总结
每周作业链接汇总
第0周作业·了解课程上课方式、做好心理预期、快速翻阅一下课本、使用虚拟机VirtualBox安装Linux系统,安装Ubuntu或/各Federa、预习Linux基础入门
第1周作业
·了解Linux操作系统、掌握核心的Linux命令:find/locate/cheat/grep/which/whereis,熟练应用“搜索”进行举一反三的学习、使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等
第2周作业
·熟悉Linux系统下的开发环境、熟悉vi的基本操作、熟悉gcc编译器的基本原理、熟练使用gcc编译器的常用选项、熟练使用gdb调试技术、熟悉makefile基本原理及语法规范、掌握静态库和动态库的生成与调用方法、理解C程序中模块的概仿,模块分解的“高内聚,低耦合”的原则、了解链接的概念
第3周作业
·理解二进制在计算机中的重要地位、掌握布尔运算在C语言中的应用、理解有符号整数、无符号整数、浮点数的表示、理解补码的重要性、能避免C语言中溢出,数据类型转换中的陷阱和可能会导致的漏洞、进一步理解“信息=位+上下文”
第5周作业
·理解逆向的概念、掌握X86汇编基础,能够阅读(反)汇编代码、了解ISA(指令集体系结构)、理解函数调用栈帧的概念,并能用GDB进行调试
第6周作业
·了解ISA抽象的作用、掌握ISA,并能举一反三学习其他体系结构、了解流水线和实现方式
第7周作业
·了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)、理解局部性原理、理解缓存思想、理解局部性原理和缓存思想在存储层次结构中的应用、高速缓存的原理和应用
期中总结
·复习 Linux常用命令、复习 教材1-7章
第9周作业
·掌握系统编程和系统调用的概念、掌握系统编程错误处理的方式、掌握Unix/Linux系统级I/O:open close read write seek stat、掌握RIO、掌握I/O重定向的方法
第10周作业
·掌握系统编程和系统调用的概念、掌握系统编程错误处理的方式、掌握Unix/Linux系统级I/O:open close read write seek stat、掌握RIO、掌握I/O重定向的方法
第11周作业
·了解异常及其种类、理解进程和并发的概念、掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid等,理解数组指针、指针数组、函数指针、指针函数的区别、理解信号机制:kill,alarm,signal,sigaction、掌握管道和I/O重定向:pipe, dup, dup2
第12周作业
·第九周代码检查、第十周代码检查、第十一周代码检查、项目
第13周作业
·掌握三种并发的方式:进程、线程、I/O多路复用、掌握线程控制及相关系统调用、掌握线程同步互斥及相关系统调用
第14周作业
·理解虚拟存储器的概念和作用、理解地址翻译的概念、理解存储器映射、掌握动态存储器分配的方法、理解垃圾收集的概念、了解C语言中与存储器有关的错误
实验报告链接汇总
实验一 开发环境的熟悉·熟悉linux开发环境;学会基于 S3C2410 的 linux 开发环境的配置和使用;使用linux的armv4l-unknown-linux-gcc编译;使用基于NFS方式的下载调试,了解嵌入式开发的基本过程;正确使用连接线等实验仪器,并注意保护实验箱。
实验二 固件设计
·掌握程序的烧写方法;能够实现Bootloader;实现密码学中常见算法的固化
实验三 实时系统的移植
·掌握uC/OSII(uCLinux…)的移植过程;掌握C语言,汇编的混合编程。
实验四 驱动程序设计
·掌握实时系统应用和驱动程序的编写、选择某个接口电路
实验五 网络通信
·掌握在ARM开发板实现一个简单的WEB服务器的过程。学习在ARM开发板上的SOCKET网络编程。学习Linux下的signal()函数的使用。
代码托管
·链接:https://git.oschina.net/wyxversus/IS20145311·二维码:
·git log截图:
·代码统计:
代码驱动的学习做到没有?
一开始几周我还是会积极主动地去敲代码,推测运行结果、编译运行,观察结果是否与预想的相同,思考原因,再反过来去理解代码,通过修改代码不断地去理解,但是到后来,尤其是最后几周就变得松懈了,可能只是简单地运行看一下结果,思考一下原因,省去了好多思考的步骤。总的来说,基本上做到了,这种学习方式也帮助了我更好地去学习这门课加点代码,改点代码是理解的最好方式,谈谈你的心得
这真的是一种非常好的学习方式,远比编译运行代码有意义多了,其实最好的还是先猜测代码运行结果,再运行,然后与预期相比对,再通过修改代码来看看是否达到了你所预想的某些结果,思考其中的原因,在不断地修改代码的过程中真的能够深入理解代码、理解原理,从而弥补自己不知道的或者理解有偏差的地方。实践上有什么经验教训
千万不要懒,这是最大的敌人,我有时候也会觉得麻烦,还要打开虚拟机,而且运行起来特别的慢,所以就不想弄了。绝知此事要躬行,这句话一点也不错。再有就是实践也要讲究方法,方法就是上面那些,思考是最主要的。遇到问题要学会利用各种资源,善用搜索引擎,毕竟搜商也是需要慢慢培养的,其实当你通过自己的努力解决了一个问题后还是比较有成就感的。回答一下第0周作业中自己提出的问题
第一章:计算机系统是如何在硬件上起作用的,也就是如何控制硬件的,计算机系统又由哪些部分组成计算机通过操作系统OS来控制硬件,进而发挥作用。计算机系统由硬件和软件组成。
第二章:计算机中浮点数也是用补码表示的吗
不是,浮点数分为整数与小数部分,抓换成二进制的方法不同
第三章:一条程序语句执行究竟要经过怎样的过程
建立栈帧,从中取出指令执行
第四章:处理器的结构
控制单元、存储单元、运算单元
第五章:有哪些方法可以优化程序
利用好局部性原理
第六章:存储器的结构
上一级存储器作为下一级存储器的高速缓存
第七章:程序通过什么实现链接
链接器
第八章:异常的判断
利用异常处理函数
第九章:虚拟存储器真的是虚拟不存在还是说是动态的吗
虚拟存储器通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换
第十章:I/O接口的作用
计算机与外设进行交互的接口
第十一章:网络编程的两种方式
利用Socket接口是一种,里面又分为tcp、udp两种方式
第十二章:并发编程就是多线程吗
不一样,并发是指在一台处理器上“同时”处理多个任务,多线程则是在一个进程中有多个线程
你有什么项目被加分,谈谈你的经验
加分的项目好像不多,总结、项目和教程都没有做过,竞赛今年倒是参加了密码技术竞赛,进了决赛,目前还不知道结果。扇贝单词也坚持了有一段时间了,还是比较喜欢英语的,所以愿意去认识更多的单词,以前听过一句话,“据说单词量超过一万的人能看到一个不一样的世界”,虽然有些夸张,还是挺有感触的,真的通过一门语言能够了解到好多不一样的东西,尤其是当你主动去学习一门语言的时候,在生活中的任何时候你都会主动去学习它,这个过程本身就很有意思。优秀作业
第2周作业
第6周作业
第7周作业
期中总结
第10周作业
第11周作业
你有什么项目被扣分,谈谈你的教训
好像最后一两周有些懒了,有些地方没有实践,惰性总是常有,还是要克制住,让优秀成为一种习惯。课程收获与不足
自己的收获(投入,效率,效果等)
收获了挺多的,不仅仅是这门课的相关知识,还有就是学会了很多软件的使用,最有感触的一个就是everything这个软件,这个在学习java的时候就安装了,这学期更是帮了很多忙,经常有些文档、ppt或者以前的一些资料找不到时,我就使用everything来搜索,很快就能够找到;包括版本控制的git虽然目前还没能完全感觉到它的好处,但是它确实能够帮助我们解决丢东西这个问题,将来必定能排上大用处。再有就是学习方法,和java一样,这种老师引导学生自学的模式还是比较有效的,自学是一种非常有效的方法,但是一定要有刻苦钻研的精神,利用好各种学习资源也是挺重要的。这门课的投入我个人感觉其实还不是很多,效率在前十几周的时候还是挺高的,最后几周可能有些疲倦了,就有点懒,再加上书上的内容有点繁琐,不是很想看,总的效率只能说算的过去吧。可以改进的就是实践的内容还不够,博客有时候尤其是后期写的不太认真,有些复杂的问题钻研得还不够。
给学弟学妹们的学习建议
首先是要看书,但是不是让你每个字都去看,要善于抓住重点,可以看看娄老师的每周内容的重点,结合那个指导去学习课本。书上的练习题可以看看结合答案理解一下,同样抓住重点的题目。接下来就是实践的环节,书上的代码、老师给的代码敲一敲,其实敲不是重点,又不是练打字的(当然要练也可以),别人的代码拿过来直接用,然后就是按照上面说的那些步骤,思考、编译运行、比对结果、修改调试运行,真正做到深入理解代码。
还有就是我觉得自己做的还不够的,对一些较复杂的问题要多一些探索精神,利用各种学习资源去把一些困难的问题(例如gdb调试汇编代码、还有一些复杂的代码等,包括装虚拟机遇到的问题和怎样配置git等等)解决一下,多做了这么一点你可能就超过大部分人许多,解决完还可以写一篇博客总结一下,毕竟还是有加分的哈哈哈。
问卷调查
你平均每周投入到本课程多长时间?
大致在6、7个小时左右每周的学习效率有提高吗?
效率感觉有点成正态分布,中间那段时间效率比较高。学习效果自己满意吗?
还是学到了好多东西的,学习效果其实只能说过得去,这不能怪别人,还是自己不够努力。课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书)
以后会尽力去每周写博客,不知道能否坚持到毕业,但会尽力的,这种东西应该是要积累到一定量才能够体会到它的好处。你觉得这门课老师应该继续做哪一件事情?
继续这种翻转课堂的教学方式。你觉得这门课老师应该停止做哪一件事情?
停止上课讲考试的错题,自己看就好了,没必要用课上的时间。你觉得这门课老师应该开始做什么新的事情?
对代码应该多一点指导,例如这个代码的功能,某些关键代码行的功能,以及如何改进代码实现某某功能,从而引导学生进一步去思考代码。本文链接和二维码
http://www.cnblogs.com/1152wyx/p/6212659.html相关文章推荐
- 20145327 《信息安全系统设计基础》课程总结
- 20145324 《信息安全系统设计基础》课程总结
- 20145214 《信息安全系统设计基础》课程总结
- 20145238 《信息安全系统设计基础》课程总结
- 20145219 《信息安全系统设计基础》课程总结
- 20145304 《信息安全系统设计基础》课程总结
- 20145239杜文超 《信息安全系统设计基础》课程总结
- 2015-2016-1学期 《信息安全系统设计基础》课程总结
- 20145210《信息安全系统设计基础》课程总结
- 20145315 《信息安全系统设计基础》课程总结
- 20145308 《信息安全系统设计基础》课程总结
- 20145337 《信息安全系统设计基础》课程总结
- 20145233 《信息安全系统设计基础》课程总结
- 20145240 《信息安全系统设计基础》课程总结
- 20145329 《信息安全系统设计基础》课程总结
- 20145227鄢曼君 《信息安全系统设计基础》课程总结
- 20145218 《信息安全系统设计基础》课程总结
- 20145306《信息安全系统设计基础》课程总结
- 20145223 《信息安全系统设计基础》课程总结