Resources
Slides
# | Topic | Download |
---|---|---|
1 | Intro | |
2 | Linux Basics | |
3 |
Build Tools |
|
4 |
C Programming 1 |
|
5 |
C Programming 2 |
|
6 |
Performance Measurement |
|
7 | Performance Optimization: Compiler and Programmer | |
8 |
Performance Optimization: Memory Optimization |
|
9 | Bash Scripting | |
10 | Python Tutorial | |
11 | Networking Introduction (TCP, HTTP) | |
12 | Endianness | |
13 | Networking 2 (UDP, DNS) | |
14 | MIPS 1 (Arithmetic, Branching) | |
15 |
MIPS 2 (Memory, Arrays) |
|
16 |
MIPS 3 (Functions) |
|
17 |
MIPS 4 (Random Numbers) |
|
18 |
Final Exam |
Makefiles
Linux Reading
C Programming References
- Beej's Guide to C Programming
- Essential C Guide from Stanford University
- C Programming Tips for C++ Programmers
- C Programming on Wikibooks
- Tutorial on threads, locks, and synchronization
- Programming in C: UNIX System Calls and Subroutines
- GNU C Library (glibc) / User manual
- C Programming Interview Questions
- Find other good references? Email me!
MIPS Assembly Programming
- MIPS Instruction Set - Start here first!
- MIPS Example Programs - Review next!
- MIPS tutorial for strings and vectors - Nice explanation and example code
- Additional resources available in Canvas site (Files folder)
- MIPS Green Card ("cheat sheet") - MIPS_Green_Sheet.pdf
- Appendix A from H&P Textbook: Assemblers, Linkers, and the SPIM simulator - HP_AppA.pdf
- This includes a complete list of instructions and psuedo-instructions
- MIPS32 Architecture for Programmers, Volume 1 - MIPS_ISA_Vol_1.pdf