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