# Books

## Design

### User Interface

The study of human-computer interaction and how to better design interfaces to adjust to the way humans work.

- The Humane Interface by Raskin

## Mathematics

### Algorithms and Computational Thinking

The study of algorithms and how they behave and why they behave the way they do.

- Structure and Interpretation of Computer Programs by Abelson and Sussman

### Discrete Mathematics

This course includes a bunch of fun mathematics such as sets, logic, combinatorics, graph theory, and more. Concepts used pretty much everywhere in math and computer science.

Check out the sets and logic pages.

- Introductory Discrete Mathematics by V.K. Balakrishnan

### Introduction to Proofs

Proofs are logic arguments mathematicians use to convince other mathematicians that their argument is valid. This is very different from any computational math we’ve probably done.

Check out the proofs page.

- How To Prove It: A Structured Approach by Velleman
- Mathematical Proofs: A Transition To Advanced Mathematics by Chartrand, Polimeni, and Zhang
- Transition To Higher Mathematics: Structure and Proof by Dumasn and McCarthy

### Linear Algebra

Linear algebra is concerned with a pretty limited set of equations, linear equations, hence the creative name! Even with this limited scope it’s still a beatiful topic and has a large number of applications.

- Elementary Linear Algebra by Anton and Rorres
- Linear Algebra Done Wrong by Treil

The following books expect you to be comfortable reading and writing proofs.

- Linear Algebra Done Right by Axler
- Linear Algebra by Friedberg, Insel, and Spence