CSAPP课程网站

课程名:系统级程序设计

课程内容

通过介绍计算机系统的核心概念,使学生了解这些概念如何实实在在地影响应用程序的正确性和性能。了解数字在计算机系统中的表示方法以及算术运算的特点,从而避免算术溢出这一个造成程序错误和安全漏洞的常见根源。了解程序中不同控制结构(比如条件、循环和开关语句)生成的基本指令模式,过程的实现、不同数据结构的分配和访问方式,从而理解常见的代码安全漏洞(比如缓冲区溢出),以及理解程序员、编译器和操作系统可以采取的减轻这些威胁的措施。了解如何从程序员的角度提高代码的执行性能。了解链接的基本过程。

参考资料

1)深入理解计算机系统(csapp),第3版,2016

作者:Randal E. Bryant and David R. O’Hallaron 教材官网:http://csapp.cs.cmu.edu 在这里可以找到完整的教材配套ppt,和一些有用的实验题目。

2)C程序设计语言, 第2版, 1988

作者: Brian Kernighan and Dennis Ritchie 作者是C语言的发明者。csapp从程序员的角度理解计算机系统,而C语言是最接近机器底层的编程语言,汇编语言是最接近程序员的机器语言。因此,C语言和汇编语言是该门课程的必修语言。

理论课成绩构成

实验课程

  1. Data lab(点击查看详细说明
  2. Bomb lab(点击查看详细说明
  3. Attack lab(点击查看详细说明