Introduction to Computer Systems ICS Intro
Mondays - overview of new topic. meetin in 200. Take Home Exams due.
Wednesdays - work on homework in small setting. Labs due.
Fridays - in-depth lecture over topic. Meet in 200. Homework due.
5 Big Ideas
- Our finite representations have limitations, and because of this, we sometimes must htink in terms of bit-level representations
- You’ve got to know an assembly language
- Memory matters
- There is more performance than asymptotic complexity
- Computers do more than execute instructions
Succeeding In The Course
- Keep up with the reading
- Ask questions
- Begin labs early
- Work through examples in the textbook
- Data Lab - utilize bitwise operations to do cool stuff without loops or conditionals
- Bomb Lab - performs reverse engineering to defuse a binary “bomb” without its source code
- Buf Lab - cause a buffer to overflow that modifies the program stack to get it to run arbitrary code
- Cache Lab - develops code to efficiently utilize the memory hierarchy
- Debugging web apps
- Linux kernel bugs
- Signed / Unsigned integer comparison
- Stack smashing
- Core dump over the phone