Skip to content

🎓🐳 Lab Assignments and Developing Environments of the Introduction to Computer Systems, 15-213 CMU

Notifications You must be signed in to change notification settings

xuyq19/ICS-15213-CSAPP3e-CMU

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ICS-15213-CSAPP3e-CMU

Open Source Society University - Computer Science Docker Pulls Docker Stars

Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e) textbook

The ICS (Introduction to Computer Systems, 15-213/18-213/15-513) course of Carnegie Mellon University provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-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, networking technology and protocols, and supporting concurrent computation.

Lab Assignments

  • C Programming Lab
  • Data Lab
  • Bomb Lab
  • Attack Lab
  • Cache Lab
  • Shell Lab
  • Malloc Lab
  • Proxy Lab

Developing Environment Setup with Docker

The following is about a containerized developing environment for 15213, based on Docker and Ubuntu.

$ git clone [email protected]:Maecenas/ICS-15213-CSAPP3e-CMU.git && cd ICS-15213-CSAPP3e-CMU
$ docker-compose run --rm shark
# can also run with Docker
$ docker run --rm -v "`pwd`"/labs:/usr/src/app/ -it lx70716/cmu-15213

Reference

About

🎓🐳 Lab Assignments and Developing Environments of the Introduction to Computer Systems, 15-213 CMU

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 82.1%
  • Perl 7.0%
  • Shell 3.6%
  • Python 3.1%
  • Makefile 2.0%
  • C++ 1.1%
  • Other 1.1%