CMU 15-213 CSAPP网课学习笔记(Lecture1)

CMU 15-213 CSAPP网课学习笔记(Lecture1)


Lecture1 Course Overview

课程主题1:花费几个星期的时间讨论数字、数字的表示及其属性

课程主题2:学习关于机器级编程的意义:汇编语言\二进制编码指令

你编写的c语言代码是如何变成机器码并执行的?

本课程更多是关于如何获取c汇编器生成的汇编代码 阅读它并理解它。

特别关注英特尔处理器的汇编语言:x86-64,指令集的64位版本

课程主题3:内存系统:理解计算机数据结构


example1

CMU 15-213 CSAPP网课学习笔记(Lecture1)_第1张图片

一个有关内存存储下标越界,程序缺不报错而是继续输出的例 子:c#不执行边界检查

地球上最可怕的debugging噩梦:试图找出内存引用错误


课程主题4:从程序角度增加它们的性能:了解系统运行规律->优化


example2

CMU 15-213 CSAPP网课学习笔记(Lecture1)_第2张图片

唯一的区别是嵌套顺序不同(行/列),但是左边4.3ms,右边80ms,
why the performance differs?


课程主题5:计算机网络

CMU 15-213 CSAPP网课学习笔记(Lecture1)_第3张图片

15-213是CMU所有研究生的一门导论性质的课,各个方向由此深入。

作为程序员,这门课给你一种视角:当你在着手去实现某种功能的时候,你会知道计算机的特性是什么,为什么这个特性很重要。使你的程序编写或者其他工作更加easy。

Dave教授认为比较好的学习方法:阅读每章节三遍,然后去完成章末的练习题。


labs

  • L1(datalab)
  • L2(bomblab)
  • L3(attacklab)
  • L4(cachelab)
  • L5(tshlab)
  • L6(malloclab)
  • L7(proxylab)

Labs are the heart of the course!!


写在最后

如果你能看到这里,很感谢啦!

这里是yubisco7的CSDN博客,他在这里记录自己的计算机学习过程。

欢迎交流、提出建议或指正错误,希望我们能够共同进步。

你可能感兴趣的:(CMU,15-213,CSAPP网课学习笔记,学习,c++,软件工程)