Resources
This page contains links to third-party resources that you may find helpful. If you have suggestions for other resources that your fellow students may find helpful, please let me know.
Class-Specific
- Project guide
 - Project coding standards
 - C function quick reference
 - Y86-64 ISA reference
 - CS:APP textbook website
 - Project files and examples are on stu at /cs/students/cs261/f16/src
 - Labs and solutions are posted in the "Files" section on Canvas.
 - Y86 simulators: xsznix.github.io | y86.js.org
 - Mindmap of course topics: (PDF | MM)
 
Videos
- CS 261 Video Lectures - Dr. Kirkpatrick's lectures from Spring 2016
 - C Programming Language - Computerphile w/ Brian Kernighan
 - 15 and Hexadecimal - Computerphile on binary representations
 - How Gangnam Style Broke Youtube - Computerphile on integer overflow
 - Binary Addition and Overflow - Computerphile
 - Two's Complement - Computerphile
 - Floating Point Numbers - Computerphile
 - AND OR NOT Logic Gates - Computerphile
 - XOR and Half Adder - Computerphile
 - 10,000 Domino Computer - Matt Parker (standupmaths)
 - Memory - Computerphile
 - Addressing Memory: Pt.1 and Pt.2 - Computerphile
 - Caching - Computerphile
 - Nanoseconds - Grace Hopper
 - 8-bit breadboard computer - Simple CPU built from scratch (playlist)
 
Fall 2015 CS 240 Tutorials (C Language)
Basic Command-Line & Linux
- Development basics (from Dr. Kirkpatrick)
 - The Linux Command Line (online book)
 - Linux Tutorial
 - JMU Unix Users Group mirror - VirtualBox and Linux virtual machine images
 
Text Editors
- Vimtutor - builtin Vim tutorial
 - Vim cheatsheet (also available outside my office door)
 - Guided Tour of Emacs
 
The C Language
- The C Programming Language, 2nd Ed. (online book -- THIS IS THE CLASSIC "K&R BOOK")
 - Practical C Programming (online book)
 - Understanding and Using C Pointers (online book)
 - GNU C Reference Manual
 - C Standard Library Reference
 - File I/O: Tutorial | Reference
 - getopt() reference
 
x86-64 Reference
- Intel Manual (all volumes in one PDF)
 - AMD64 Vol 1: Application Programming
 - AMD64 Vol 2: System Programming
 - AMD64 Vol 3: General Instruction Reference
 - AMD64 Vol 4: SSE and AVX Instruction Reference
 - AMD64 Vol 5: MMX and x87 Instruction Reference
 
Debugging
Version Control
Logic Gates and Circuits
- Logisim - Graphical tool for modeling/simulating circuits
 - Circuit simulator - Web tool for modeling/simulating circuits