Resources
Slides
# | Topic | Download |
---|---|---|
1 | Intro | |
2 | Linux Basics | |
3 | Version Control Systems (VCS) | |
4 |
Build Tools |
|
5 |
C Programming 1 |
|
6 | C Programming 2 | |
7 |
Performance Measurement |
|
8 | Performance Optimization: Compiler and Programmer | |
9 |
Performance Optimization: Memory Optimization (Memory layout, software prefetching, and writing cache friendly codes) |
|
10 | Midterm Exam | |
11 | Bash Scripting | |
12 | Python Tutorial | |
13 | Networking Introduction (TCP, HTTP) | |
14 | Endianness | |
15 | Networking 2 (UDP, DNS) | |
16 | MIPS 1 (Arithmetic, Branching) | |
17 |
MIPS 2 (Memory, Arrays) |
|
18 |
MIPS 3 |
|
19 |
MIPS 4 |
|
20 |
Final Exam |
|
Mercurial / Version Control Systems
- Hg init: A Mercurial Tutorial
- Learning Mercurial in Workflows
- Mercurial in Daily Use (part of Mercurial: The Definitive Guide)
- A Visual Guide to Version Control
- A Visual Guide to Distributed Version Control
Makefiles
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