20155303 2017-2018-1 《信息安全系统设计基础》课程总结
目录
- 1、每周做业及实验报告连接汇总
- 2、关于博客
- 自认为写得最好一篇博客是?为何?
- 做业中阅读量最高的一篇博客是?谈谈经验。
- 做业中与师生交互最多的一篇博客是?谈谈收获。
- 3、代码托管
- 给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?
- 代码驱动的学习作到没有?
- 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得。
- 实践上有什么经验教训
- 4、开学初问题的回顾
- 总体评价一下第1周做业中本身提出的问题是否是抓住了学习重点
- 回答一下第1周做业中本身提出的问题
- 5、课堂项目实践
- 课堂实践连接
- 课堂实践对提升应用能力有帮助吗?
- 你有什么项目被加分,谈谈你的经验。
- 6、课程收获与不足
- 本身的收获(投入,效率,效果等)。
- 本身须要改进的地方。
- 若是有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议。
- 7、给本身和学弟学妹的建议
- 8、问卷调查
- 你平均每周投入到本课程学习时间有多少?
- 每周的学习效率有提升吗?
- 学习效果本身满意吗?
- 课程结束后会继续一周至少一篇博客吗?
- 你以为这门课老师应该继续作哪一件事情?
- 你以为这门课老师应该中止作哪一件事情?
- 你以为这门课老师应该开始作什么新的事情?
- 9、写在最后
- 附:二维码
1、每周做业及实验报告连接汇总
返回目录
html
2、关于博客
自认为写得最好一篇博客是?为何?程序员
做业中阅读量最高的一篇博客是?谈谈经验。面试
- 阅读量最高的是课后练习:C语言实现Linux命令——od这篇博客。起初这是一项课下做业,要求实现
od -tc -tx1 *.txt
的功能,目的在于让咱们区分文本文件和二进制文件的概念,较易实现。后来想到od命令还有其余选项,顺便作了拓展,最后再进行“润色”,严格模仿Linux下的输出格式。在拓展的过程当中,考虑到须要封装函数,用到了windows下光标移动的方法。但移植到Linux下又出了新的问题,由于Ubuntu下没有windows内核dll的支持,因此windows.h中的方法在Linux下均没法使用。在老师的指点下,了解到curses.h库函数的功能相似于windows.h,所以进行了后续的学习。经验就是,“问题驱动学习”,要有钻研的精神,知识都是在深挖的过程当中慢慢掌握的;同时应该在博客中详细记录本身的思考过程,这些对其余同窗不失为重要的参考。
做业中与师生交互最多的一篇博客是?谈谈收获。正则表达式
- 交互最多的是进程与fork()、wait()、exec函数组,这也是我写博客以来
修改次数最多的一篇博客。在与老师讨论的过程当中,一点一点学会如何以更加明晰的思路向初学者展现知识的框架和内涵。在修改的过程当中更加体会到老师的不易,都说给学生一碗水,老师至少须要一桶水的储备,教会他人,每每比教会本身更困难。虽然目前的版本仍不使人满意,但在迭代的过程当中收获满满。
返回目录
算法
3、代码托管
给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?shell

- 本学期的代码量目标已完成。代码集中为课后习题、遇到问题时的验证过程以及五次实验。
代码驱动的学习作到没有?编程
“代码驱动”与“问题驱动”是本学期学习的主要方式。尤为对于许多精细知识的学习,好比教材第二章,遇到不懂的问题敲代码验证就能对“信息=位+上下文”有更加深入的理解。windows
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得。数组
- 照搬代码每每不能获得实质性的提升,而针对不一样的需求对代码稍做修改却能够帮助咱们深入理解代码。好比C语言模拟od命令,对已有的-tx代码稍做修改就能实现-td/-to等选项,也加深了对代码的理解。
教材实践上有什么经验教训?缓存
- 学习新的知识时,能够先看书,熟悉书上的知识点;若是时间紧张,先敲代码作练习不失为一种不错的选择。在调试代码、运行代码、修改代码的过程当中,对知识点也就理解透彻了。
返回目录
4、开学初问题的回顾
总体评价一下第1周做业中本身提出的问题是否是抓住了学习重点?
- 大多数问题缺少对一章内容的总体把握,在没有通读整章的状况下,提出的问题老是不着重点。
回答一下第1周做业中本身提出的问题
- 『第1章 计算机系统漫游』:一个可执行程序是如何一步步产生的?
- 预处理->编译->汇编->连接,由今生成可执行文件。
- 『第2章 信息的表示和处理』:如何利用计算机的算术运算特性保证运算结果的精度?
- 例如经过规格化,能够保证运算数据的精度。浮点的规格化是为了使浮点数尾数的最高数值位为有效数位。当尾数用补码表示时,若符号位与小数点后的第一位不相等,则被定义为已规格化的数,不然即是非规格化数。一般,采用向左规格化(简称左规),即尾数每左移一位,阶码减1,直至规格化完成
- 『第3章 程序的机器级表示』:不一样的数据结构,分配和访问方式有何异同?
- 许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(一般它为4或8)的倍数,这就是所谓的内存对齐。
- 『第4章 处理器体系结构』:五阶段处理器流水线具体指什么?
- 取指阶段->译码和写回阶段->执行阶段->访存阶段->更新PC阶段
- 『第5章 优化程序性能』:如何在理解现代处理器的原理上,提升代码性能?
- ①选择一组适当的算法和数据结构;②编写出编译器可以有效优化以转换成高效可执行代码的源代码,如充分理解优化编译器的能力和局限性。
- 『第6章 存储器层次结构』:如何经过改善程序的时间局部性和空间局部性来提升应用程序的性能?
- ①经过按照数据对象存储在内存中的顺序,以步长为1的来读数据,从而使得程序的空间局部性最大;②一旦从存储器中读入了一个数据对象,就尽量多地使用,从而使程序中的时间局部性最大。
- 『第7章 连接』:连接的具体过程是怎样的?在生成可执行目标文件的过程当中起什么做用?
- 为了构造可执行文件,连接器须要完成如下两个任务:符号解析和重定位。驱动程序运行连接器。将各类.o文件以及一些必要的系统目标文件组合起来,建立一个可执行文件。
- 『第8章 异常控制流』:进程是如何工做的?如何在应用中建立和操纵进程?
- 进程是一个执行中程序的实例,每次用户经过向shell输入一个可执行目标文件的名字,运行程序时,shell就会建立一个新的进程,而后在这个新的进程的上下文中运行这个可执行目标文件。
- 与进程相关的有一些函数,如fork()、getpid()、exit()、wait()等,
- 『第9章 虚拟内存』:虚拟内存是如何体现计算机系统软硬件结合的优势的?
- 它将主存当作是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据须要在磁盘和主存之间来回传送数据,经过这种方式,高效的使用了主存。
- 它为每一个进程提供了一致的地址空间,从而简化了存储器管理。
- 它保护了每一个进程的地址空间不被其余进程破坏。
- 『第10章 系统级I/O』:C的标准I/O库与Linux I/O有什么关系?
- 标准I/O默认采用了缓冲机制,好比调用fopen函数,不只打开一个文件,并且创建了一个缓冲区(读写模式下将创建两个缓冲区),还建立了一个包含文件和缓冲区相关数据的数据结构。
- 低级I/O(Linux系统的I/O)通常没有采用缓冲,须要本身建立缓冲区,不过在Linux系统中,都是有使用称为内核缓冲的技术用于提升效率,读写调用是在内核缓冲区和进程缓冲区之间进行的数据复制。
- 『第11章 网络编程』:如何开发简单的迭代式Web服务器?
- 迭代服务器:服务器在同一时刻只能响应一个客户端的请求
- 并发服务器:服务器在同一时刻能够响应多个客户端的请求
- 在实验三中,实现了迭代服务器和并发服务器。具体能够参考相关实现。
- 『第12章 并发编程』:如何利用线程级并行性使得程序在多核机器上更快运行?
- 能够经过编写并行程序,具体包括任务并行和数据并行两种方式。
- 任务并行:是指将有待解决的问题须要执行的任务分配到各个核上完成。
- 数据并行:是指将有待解决的问题所须要处理的数据分配到各个核上完成,每一个核在所分配的大体至关的数据集上执行相同操做。
返回目录
5、课堂项目实践
课堂实践连接
课堂实践对提升应用能力有帮助吗?
- 本学期隔周即进行一次课堂实践,我认为这是对学习内容的很好的检测方式,也对同窗们的学习起到了很好的督促做用。不过课堂实践毕竟时间有限,不可能对两周所学内容面面俱到,因此还需课下多下功夫。
你有什么项目被加分,谈谈你的经验。

- 截至上次公布成绩,有如下几个方面被加分:
- 博客。包括暑假期间自学写的博客,以及一些优秀做业;
- 微课。这学期利用课余时间跟几位同窗一块儿作一些辅助教学的工做,虽然微不足道,但让咱们真切体会到了老师的不易;
- 密码技术竞赛。从暑假中期开始准备初赛,到学期初进入复赛修改完善做品,再到11月下旬参加决赛,虽然说结果并不尽如人意,只拿了三等奖,但准备的过程对团队的每一个成员来讲都是一种历练;此次比赛每一位队员都各尽所长,也让团队的凝聚力大大加强,能够说意义远远超过了比赛自己;
- 还有一些是课堂实践的加分;
- ......
返回目录
6、课程收获与不足
本身的收获(投入,效率,效果等)。
- 本学期所学内容较上学期而言,更多且更杂,任何一个模块都能拿来细细探讨分析;在课程难度增大的状况下,投入的时间和理解程度却不尽人意,有不少课后练习都没有完成,还有一些章节也没来得及仔细研究。还须要多读不少遍才能真正把这本书理解掌握...
本身须要改进的地方。
- 合理安排时间,分清缓急轻重,知识老是学不完的,因此应该学会抓住重点。
若是有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议。
- 从这两个学期的结对状况来看,我认为这种方式是很是有必要的。尤为是实验,一我的的知识储备也许不足以解决遇到的全部问题,每每在探讨的过程当中才能摸索到正确的解决方案。
- 并且结对也是一个互补的过程,队员可以在这个小团体内发挥本身的长处,两个或三我的协做能够获得更好的效果。
- 在平时的学习中,不少同窗并无切实贯彻结对的政策,多是由于平常的学习较为简单,并不须要另外一我的跟本身的思惟来碰撞。参考其余课程的结对状况,也许能够按期布置一些大型做业,难度不必定很大,但最好要求多样化一些,为同窗们创造发挥长处的机会,与他人合做完成。
返回目录
7、给本身和学弟学妹的建议
若是从新学习这门课,怎么作才能够学的更好?
- 多阅读课本内容涉及到的相关书籍,好比《Understanding.Unix-Linux.Programming》、《The Art of Debugging with GDB, DDD and Eclipse》、《UNIX.Linux下curses库开发指南》等,一方面改善单一的思惟方式,另外一方面也算“广”与“专”并重。
- 合理安排时间,“今日事今日毕”,抓住平时零碎的时间,遇到问题随时记录在书上相关的位置,随时查询求解。
返回目录
8、问卷调查
你平均每周投入到本课程学习时间有多少?
- 单周大概20多小时,双周较为轻松,通常用来补充上一周没有彻底掌握的知识,五、6小时便可。
每周的学习效率有提升吗?
- 有提升,尤为是在单周学习任务比较重的状况下,逐渐学会了如何抓住知识的重点。
学习效果本身满意吗?
- 基本满意,但也只局限于针对这门课程现有的考核而言。做为一本IT行业招聘必然会参考的书籍(听说),其重要性不言而喻,所以以我如今对这本书浅薄的理解程度,只能说掌握了一点皮毛,想真正掌握仍是远远不够的。
课程结束后会继续一周至少一篇博客吗?
- 写博客的过程也是整理思路的过程,若是是专业方面的知识,我仍是比较倾向于在博客中分享的。也算做往后的学习参考。
你以为这门课老师应该继续作哪一件事情?
- 使用蓝墨云辅助教学,这可让教学的过程更加多元化。其中的不少功能也很是贴合这门课程学习的须要,值得保持下去。
你以为这门课老师应该中止作哪一件事情?
你以为这门课老师应该开始作什么新的事情?
①课堂笔记除了让他人回答本身的问题以外,建议要求本身对本身的问题进行回答,以加深对课堂内容的理解。毕竟别人仔细回答了,知识是别人的;如果本身提完问题就丢,其实并无彻底发挥这个问题的价值。
②后面的实验难度比较大,尤为是用到实验箱的部分。所以,建议老师在实验前先大体讲解这次实验的思路,让同窗们在实验时有的放矢。
③不定时抽取一些同窗当面检查程序,问一些代码中的问题,以考察理解程度。
返回目录
9、写在最后
首先,想对娄老师一直以来的悉心指导与严格要求道一声感谢:谢谢您对教育事业的奉献精神,多少个周末节假日仍留在学校工做,为同窗们讲课;谢谢您一年以来不厌其烦的指导,带咱们一步一步走上正确的学习道路;谢谢您在专业经验、学习方法、甚至是生活态度等各个方面的分享,无论是为师仍是为人,您都为咱们树立了榜样。
转眼博客园的园龄已经一年多了,回想第一篇博客《路行至远,砥砺前行————浅谈对师生关系的见解以及对将来学习生活的展望》仍记忆犹新。值得欣喜的是,在一年来的学习过程当中,个人收获早已超过预期;这段师生关系带给个人,也毫不仅仅是两本书中的知识而已。我很荣幸能遇到娄老师,能接触到这样一种学习模式,拓宽了视野,增加了知识。从一开始对一周一篇博客这种新模式的抵触,到逐渐接受适应并习惯;从有时课堂实践发挥不佳心情低落,到实践前更深刻的学习,更充分的准备,我想很难有哪一门课要求本身从外到内作出如此大的改变,须要克服懒惰,须要调整心态,甚至须要在不断的摸索中找到属于本身的学习方法。蜕变成功就能倍感轻松,拒绝改变只能持续痛苦。
直到我进入16级博客园班级,才意识到一年的时间就要过去了。这虽然是结束,同时也是新的开始。老师已经为咱们指明了一条专业学习的道路,能走多远就取决于本身了。接下来我会带着对专业的热情继续拓展本身的视野,时常以更高的标准审视本身,严格要求,不断前进;同时会尽力协助娄老师作一些力所能及的事,以求能有更多的同窗从这种学习模式中受益。
最后,想起娄老师曾分享过一篇资深技术专家陈皓对IT从业者的建议,其中几点我深有感触,与你们共勉:
- 客观地审视本身。找到本身的长处,不断地在本身的长外上发展自我。知道本身几斤几两才能清楚本身适合干什么。否则,目标设置得太高本身达不到,反而让本身难受。在职场上,审视本身的最佳方式,就是隔三差五就出去面试一把,看看本身在市场上可以到什么样的级别。若是你超过了身边的大多数人,你不妨选择得激进一些冒险一些,不然,仍是循序渐进地来吧。
- 肯定本身想要什么。若是不肯定这个事,你就会纠结,不知道本身要什么,也就不知道本身要去哪里。注意,你不可能什么都要,你须要极端地知道本身要什么。所谓“极端”,就是本身不会受到其它东西或其它人的影响,不会由于这条路上有人退出你会产生怀疑,也不会由于别的路上有人成功了,你会羡慕。
- 注重长期的可能性,而不是短时间的功利。20-30 岁应该多去经历一些有挑战的事,多去选择能给本身带来更多可能性的事。多去选择能让本身成长的事,尤为是能让本身开阔眼界的事情。人最惧怕的不是本身什么都不会,而是本身不知道本身不会。
- 尽可能关注本身会获得的东西,而不是本身会失去的东西。由于不管你怎么选,你都会有得有失的。(绝大多数人都会考虑本身会失去的,而不是考虑本身会获得的。)
- 不少事情能作到什么程度,其实在思想的源头就被决定了,由于它会绝大程度地受到思考问题的出发点、思惟方式、格局观、价值观等因素影响。这些才是最本源的东西,甚至能够定义成思惟的“基因”。就程序员而言,编码能力很重要,可是技术视野、技术洞察力,以及如何用技术解决问题的能力更为重要。
返回目录
附:二维码















返回目录