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; we recommend VirtualBox.
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.