There are no required textbooks for this course. However, the following are quite good, and I recommend them. They may be helpful for reinforcing concepts, practice problems, and delving deeper into some topics than we may go into in class.
We will be using virtual machines for each project:
There are several good virtualization software packages; I recommend VirtualBox.
Important When you get the VM, please be sure to run "sudo apt install gcc-multilib" so that you can compile programs to 32-bit binaries.
Note Recall that your project submission must work within the VM that we provide you. Be sure to test your code thoroughly in the VM provided.