20145326蔡馨熤《信息安全系统设计基础》期末总结
每周作业链接汇总
-
- 简要内容:初步翻阅课本,提出问题;学会如何使用虚拟机VirtualBox并成功安装Ubantu;预习了Linux基础入门;阅读了老师推荐的博客并写出了自己的感想。
- 二维码:
-
- 简要内容:初步了解Linux操作系统;介绍了核心的Linux命令:find/locate/cheat/grep/which/whereis。
- 二维码:
-
- 简要内容:介绍了Linux系统下的开发环境、vi的基本操作、gcc编译器与gdb调试的基本原理;介绍了makefile基本原理及语法规范以及静态库和动态库的生成与调用方法;介绍了链接的概念。
- 二维码:
-
- 简要内容:介绍了二进制在计算机中的重要地位、布尔运算在C语言中的应用;介绍了有符号整数、无符号整数、浮点数的表示;介绍了补码的重要性;介绍了“信息=位+上下文”。
- 二维码:
-
- 简要内容:介绍了ISA;介绍了函数调用栈帧的概念、用GDB进行调试;总结了教材第三章《程序的机器级表示》内容。
- 二维码:
-
- 简要内容:介绍了ISA、Y86指令以及HCL语言;总结了教材第四章《处理器体系结构》的内容。
- 二维码:
-
- 简要内容:介绍了常见的存储技术(RAM、ROM、磁盘、固态硬盘等);介绍了局部性原理、缓存思想以及局部性原理和缓存思想在存储层次结构中的应用以及高速缓存的原理和应用。
- 二维码:
-
- 简要内容:复习了 Linux常用命令以及教材1-7章,总结了自己新学到的知识点、自己的收获、自己的不足;提出了课程建议和意见。
- 二维码:
-
- 简要内容:介绍了系统调用的概念、系统编程错误处理的方式;介绍了Unix/Linux系统级I/O、RIO以及I/O重定向的方法。
- 二维码:
-
- 简要内容:完成了课后练习;学习视频内容并总结了知识点,运行分析了相关代码。
- 二维码:
-
- 简要内容:介绍了异常及其种类、进程和并发的概念、进程创建和控制的系统调用及函数;介绍了信号机制、管道和I/O重定向;运行了相关代码。
- 二维码:
-
- 简要内容:分析、检查、总结了第九周代码,第十周代码,第十一周代码。
- 二维码:
-
- 简要内容:介绍了三种并发的方式:进程、线程、I/O多路复用;介绍了线程控制及相关系统调用、线程同步互斥及相关系统调用;总结了教材第十一章《网络编程》、教材第十二章《并发编程》的内容, 运行分析了相关代码。
- 二维码:
-
- 简要内容:介绍了虚拟存储器的概念和作用;介绍了地址翻译的概念、存储器映射、动态存储器分配的方法以及垃圾收集、C语言中与存储器有关的错误;总结了教材第九章《虚拟存储器》的内容,运行分析了相关代码。
- 二维码:
(按顺序)实验报告链接汇总
-
:连通arm开发板、虚拟机和超级终端
- 二维码:
-
:连通arm开发板、虚拟机和超级终端后实现简单多线程的代码运行
- 二维码:
-
:连通arm开发板、超级终端并安装ADS、JTAG驱动,测试是否配置成功
- 二维码:
-
:在PC机上编写简单的虚拟硬件驱动程序并进行调试,分析并理解驱动与应用程序的交互过程
- 二维码:
-
:学习使用socket进行通讯编程的过程,阅读HTTP协议的相关内容,学习几个重要的网络函数的使用方法。 读懂 HTTPD.C 源代码。在此基础上增加一些其他功能。在 PC 计算机上使用浏览器测试“嵌入式 WEB 服务器”的功能。
- 二维码:
代码托管链接和二维码
- 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
- 代码量汇总(用wc命令,有截图)
- 二维码
-
代码驱动的学习做到没有?
- 为什么要强调代码驱动的程序设计学习?因为我觉得如果完成学习任务时缺少思考,就会觉得非常心累而且收获还不大,每周测试也成绩平平,从而失去对学习的热情。这是一个致命的恶性循环!刚开始的时候,我跟大部分同学一样,没有做到代码的驱动学习,所以我刚开始那几周学得特别累,考试成绩也不高,直到后面,我意识到不能再这样了,如果一直这样敷衍下去,什么东西都学不到,而且期末也一定会很难看,于是我尝试着改变,仔细研究了娄老师发的那篇博客《代码驱动的程序学习》,我慢慢去习惯用git托管代码,慢慢去习惯用tree让代码更有条理,慢慢去习惯用gdb调试代码等。结果证明这是非常有用的,我每周学习更轻松了,考试更高效了,最主要的是学习热情高涨了!(尽管最后没拿到满分,这是个遗憾)后来我发现对于编程的学习,代码驱动是个很好的方式,我们这本教材非常厚,通过使用git和gdb来积极主动的读写代码是一个很好的方式。不过积极主动的前提是自己有思考,不是仅仅完成老师的任务,如果做到了一点,这学期收获的肯定不是一门功课的好成绩,而是为学习信息安全专业打下的坚实的计算机基础!
-
加点代码,改点代码是理解的最好方式,谈谈你的心得
- 娄老师经常强调,最高效的学习方法就是举一反三!如果有能力将书上任意一个源代码拿来随便做点修改,都能调通的话,才能说是真正理解了代码。对于程序的学习,加点代码,改点代码无疑是理解的最好方式!同学们可能觉得,书上的文字内容一目了然,浅显易懂,但有些概念就是深入理解不了,这个时候就要结合代码了,大部分同学(包括我),最开始一提到代码就头疼,但是万事开头难!怕,你就输了一辈子。其实代码的逻辑性比文字概念的逻辑性强多了!加点代码,改点代码能够帮助我们理解代码到底是怎么运行的,还能够帮助我们深入理解书上抽象模糊的概念!将代码与概念相结合,学习才会更高效!
-
实践上有什么经验教训
- 从第一周开始,就要紧紧跟上节奏。该实践就不要懒,不要有拖延症,不然越拖越多!上面也提到了,我们从一开始就要将书上的概念与代码结合着来学,对于程序的学习,如果没有代码,那只能是纸上谈兵!
回答第0周作业中自己提出的问题
- 第一章 编译系统是如何工作的?
- 配置;
- 确定标准库和头文件的位置;
- 确定依赖关系;
- 头文件的预编译;
- 预处理;
- 编译;
- 连接;
- 安装;
- 操作系统连接;
- 生成安装包;
- 动态连接。
- 第二章 IEEE是什么?
- 浮点数表示标准,用V=(-1)^sM2^E
- 第三章 机器级是什么?机器级代码又是什么?
- 汇编级。汇编语言或二进制格式语言。
- 第四章 HCL和我们之前学习过的HDL是相似的东西吗?
- 相似但有些地方不同
- 第五章 现代处理器是什么?
- 将大量的晶体管集成到一块芯片上,采用更复杂的硬件
- 第六章 存储器山是什么?
- 读带宽时间和空间局部性的二维函数
- 第七章 静态链接是什么?
- 以一组可重定位目标文件和命令行参数作为输入,生成一个完全连接的可以加载和运行的可执行目标文件
- 第八章 非本地跳转是什么?
- 用户级异常控制流形式,将控制直接从一个函数转移到另一个当前正在执行的函数,而不需要经过正常的调用-返回序列
- 第九章 什么是虚拟存储器?
- 对主存的抽象概念
- 第十章 RIO包是什么?
- I/O包,提供了方便、健壮和高效的I/O
- 第十一章 套接字接口是什么?
- 是一组函数,和I/O函数结合起来,用以创建网络应用
- 第十二章 进程的优劣是什么?
- 进程共享文件表,但是不共享用户地址空间。
你有什么项目被加分,谈谈你的经验
-
一共8次优秀作业(给出链接和二维码)
-
- 二维码:
- 二维码:
- 二维码:
- 二维码:
- 二维码:
- 二维码:
- 二维码:
- 二维码:
-
总结(给出链接和二维码)
- 二维码:
-
项目(给出链接和二维码)
- 二维码:
-
扇贝背单词(对四六级有没有影响?)
- 我觉得扇贝背单词的效果因人而异吧,有的人就是忽悠,就是为了加分而去打卡,那这种人在英语四六级方面肯定不会有什么进步。对于真正想学习的同学来说,我觉得扇贝打卡还是很有必要的。我在班上一直担任英语科代表,当然英语四六级是第一批次考的,都很轻松的通过了。我在这里想跟大家分享下我的经历。我印象深刻的是初中毕业英语考了147(满分150),而高一时的英语入学考试却没及格!当时我特别难过,于是用周末时间去找专门的机构补课,老天还是比较眷顾我,给我“安排”了一个很棒的老师Danniel,这个老师有一个特点,那就是词汇量特别大!但是他从不死记硬背,他善于找规律,善于研究单词的词根,善于派生!我跟着他学了两三个月吧,才开始逐渐转变,因为我一直保持着自信与学习的热情,这是最基本的保证!你们肯定猜不到我有多疯狂,掌握了一些基本的词根含义和派生技能后,我平时看见一样东西,就强迫自己脑子里立马要想到一个单词甚至几个,如果想不到,就用有道查询,然后记下来,我从不背英语词典,我从不乱刷题,我保证了刷每套题的效率,一套题里面所有我不认识的单词我都会标记,总结在一个本子上,然后熟记,最开始可能比较困难,但是逐渐你会发现,只要坚持下来了,只会越来越简单,你需要标注的单词只会越来越少。你做题的正确率只会越来越高,你做题只会越来越开心,这才是一个良性循环!当然英语是一个长期积淀的过程,我有高中三年深厚的底子,大学就算不怎么学,四六级也能很轻松通过,英语这种学科,不一定大学生就一定比高中生水平高!其实我感觉大家到了大学,英语水平每天都在退步!为什么呢,因为没了高考压力,没了内心的驱动学习,更重要的是没了一个大环境,没了一个学英语的氛围,而扇贝打卡能够补救这一点,我四六级早就过了,但我依然每天打卡,它已经成了我生活中的一部分,我玩扇贝就像有些同学打游戏一样,觉得很有趣!英语跟我们汉语一样,先有单词,再有短语,再有句子语法,再有段落,最后才有了整篇文章。基础不牢,地动山摇,大家千万不要小看单词的作用!我觉得扇贝打卡是堕落的大学生逆转四六级的开始!哈哈哈~
你有什么项目被扣分,谈谈你的教训 •不动手实践
- 没有项目被扣分(很开心~)
待及格管理制度的优缺点(进入过的同学必写)
- 首先我觉得这个制度的出发点是好的,
- 优点:给了待及格同学一个机会来补救,同时又让待及格同学学到了知识。
- 缺点:大部分同学多发的博客其实还是在忽悠(随便复制粘贴),对于代码也没有理解。
- 意见:对博客和代码的验收应更严格一点,杜绝忽悠混分的人存在。
课程收获与不足
-
自己的收获(投入,效率,效果等)
-
不知不觉已经上了娄老师两个学期的课了,从最开始完全排斥反抗这种教学模式,到最后将这些学习方式变为自己的习惯。首先,我开始适应了看书自学的模式,这是一门90%靠自学完成的课,不过同学们提了意见后,娄老师上课讲的内容还是变多了不少。自学的能力是极其重要的,它将伴随我们一生。以后出身社会了,没有老师陪伴,遇见了难题就要自己学会解决。一开始当然会觉得很难下手,感觉根本完成不了学习任务,但跟着娄老师的步伐一步一步走,我逐渐找到了节奏。除了自学能力,我现在静静一想,才明白娄老师的良苦用心。还有通过写博客的方式来记录自己的学习过程,不仅锻炼了文笔还理清了思绪,说得长远一点,其实是在积累自己的人生财富!不一定只有学计算机相关知识,才能发博客,看完一本书的感想或者记录平时的心情,博客园都是一个很好的平台。平时有什么问题也可以在园子里提问,博客园里面藏龙卧虎! 我们还要学会使用git托管,虽然最开始在下载方面或者使用方面比较麻烦,但万事开头难,一旦上手,受益匪浅!比如以后电脑出现“数据流失”的话,就不用害怕了。再比如几个人要做项目的话,学会git共享代码,也会省事儿很多!学会用Markdown来编写文档,其实是强调了一种规范意识!
-
我觉得自己看书和听老师讲课完全是两回事,听老师讲课是学生被动的学习,而自己看书是主动的学习!人的大脑是有一个工作过程的,从最开始看书上的内容,内容再传到大脑,大脑再开始思考。这是一个主动的过程,这是一个探索的过程!老师对知识已经滚瓜烂熟了,讲课的过程中会无意识的过滤一些所谓的“非重点”,我觉得这是不好的,这违背了知识的完整性,自学的方式给了学生一个机会去亲身体验,到底什么是重要的知识点,什么是所谓的“非重点”,以及为什么会这样。也许有的人会说,这种自学方式很浪费时间。没错!不过这才是学习的本质啊!学习不是应试!学习应该是一个主动探索未知的过程!书里的很多内容可能只是帮助我们理解的,但在阅读这部分的过程中,我们也提高了自己的思考和理解能力啊,也可以锻炼自己的专注力啊,更重要的是这些所谓的“非重点”可能会无形之中将我们之前所学的知识都串起来!
-
在专业知识上呢,也有很大的收获!熟话说得好,真的是一通百通,我感觉这门课是对我们专业很多课程的回顾和深入,比如,c语言,汇编,操作系统,网络编程等,这本书的每一章都可以分成一个单独的课程,而每一章也都能精确、简练的概括这部分知识,甚至讲的更具体。
-
-
自己需要改进的地方
-
在阅读课本方面,有时候还是有点囫囵吞枣,这一点很不好,有的周事情很多,我没有合理安排好时间。这本《深入理解计算机系统》教材其实很厉害的,以后有时间还可以多看看,这本书上的内容如果都掌握了,那简直不得了!
-
我觉得在实验的过程中,更多的时候还是在照着步骤做,而且做的时候如果顺利就会思考的更少,我现在反而觉得做实验的时候如果出很多错也不见得是件坏事,因为正是在每次实验失误的时候,我才会回过头细细的研究原理,这一点确实做的很不好,说白了,就是怕麻烦,有点投机取巧,我主动承认错误。
-
在每周测试前的复习中,还得加强效率!最开始有点投机取巧,觉得反正开卷,又有上一届的例题,应该没什么问题,但是后来逐渐发现娄老师每周出的考题都跟上一届的有很大区别,所以我不得不端正态度,慢慢改进,哈哈哈,还是要谢谢娄老师的严格要求!
-
给学弟学妹们的学习建议
- 如果重新学习这门课,怎么做才可以学的更好
- 从一开始就要抓紧,跟上进度,千万别落下!不然到后面的话,会特别累!想加个一两分都得拼命才行~
- 课本要仔细的阅读,要是实在没有时间写学习总结那就不写,但一定要把课本读完并理解,晚交博客扣一分,但是考试可是有5分啊!不过能不扣分就不扣,合理安排好时间!对于这门课程,几分的差距可能隔着十几个人!
- 把重心还是放在平时的考试上,学有余力的话再做项目什么的。我还是觉得不要为了加分去做项目,做项目一定要选自己感兴趣的,不求快,求质量,做项目的过程会带给你许多意外的收获与惊喜!通过做项目提高自己的能力才是最终目的!
问卷调查
-
你平均每周投入到本课程多长时间?
- 大概20小时吧
-
每周的学习效率有提高吗?
- 有,最开始几周不行,后面都有所提高!
-
学习效果自己满意吗?
- 还行,每次学完都有一定的收获。
- 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书)
- 我不敢保证每周都要写博客。但是,我会尽量把自己觉得重要的东西以发博客的形式进行记录,不管是学习总结,还是一些感想随笔,都可以。平时如果有问题也可以在博客园提出来,毕竟博客园是一个藏龙卧虎的地方!对于学习,博客园真的是一个很好的平台。
- 你觉得这门课老师应该继续做哪一件事情?
- 提倡扇贝打卡
- 每周检测
- 督促自学
- 提供一些实践项目
- 你觉得这门课老师应该停止做哪一件事情?
- 尚未想到
- 本学期你与老师和同学交互最多的一篇博客是哪篇?
- 我觉得我与老师和同学在小组里的互动更多。
- 本学期被阅读最多的博客是哪一篇?有何经验?
- 跟着娄老师上课讲who命令时的思路,我尝试着动手编写了cp命令。这篇博客的阅读量是最多的,其实我只是把我的学习过程记录下来了而已,相对于老师给的教程,同学们可能觉得我的这篇博客更容易理解。我一直赞成娄老师的观点——做中学,很多知识真的必须得亲自动手做一遍,才能体会其中的精髓。
- 现在评价一下第0周提出的问题的质量,抓住重点了吗?
- 现在回头看第0周提的问题,瞬间觉得很low啊。哈哈哈,不过,对于不同人,不同阶段,重点都是不一样的。对于现阶段的我来说,以前那些问题肯定都不算重点了,但在当时,我觉得那些问题还是很有必要重视的。
-
你觉得这门课老师应该开始做什么新的事情?
- 将家庭作业的考核加入到每周的小测中。
- 娄老师是专业的技术流,希望能听娄老师多讲一些关于自身学习的经历,以及具体的技术内容,如果可以,希望老师能将当前信息安全领域的需求和流行的技术引进到课堂中,让我们的课更接地气,让其有实用的价值。
本文链接:
二维码: