CSE 637S: Software Security
Introduction to the hardware and software foundations of computer processing systems. This course provides a
programmer's perspective of how computer systems execute programs and store information. The course material
aims to enable students to become more effective programmers, especially in dealing with issues of performance,
portability and robustness. It also serves as a foundation for other system courses, such as compilers,
networks, and operating systems, where a deeper understanding of system-level issues is required. Topics
covered include: machine-level code and its generation by optimizing compilers, performance evaluation and
optimization, computer arithmetic, memory organization and management, and supporting concurrent computation.