From 5d9cf81b86af636c111217f7530279c8be1d9e02 Mon Sep 17 00:00:00 2001 From: John Washam Date: Thu, 27 Oct 2016 09:37:29 -0700 Subject: [PATCH] Moved some items out of prerequisites and into additional knowledge. Moved C into prerequisites. --- README.md | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 7df381b..0a898a1 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,8 @@ sometimes word-for-word in Google's coaching notes. - [Additional Books](#additional-books) - [Additional Learning](#additional-learning) + - [Compilers](#compilers) + - [Floating Point Numbers](#floating-point-numbers) - [Unicode](#unicode) - [Endianness](#endianness) - [Emacs and vi(m)](#emacs-and-vim) @@ -354,20 +356,17 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input ## Prerequisite Knowledge +- [ ] **Learn C** + - C is everywhere. You'll see examples in books, lectures, videos, *everywhere* while you're studying. + - [ ] [C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628) + - This is a short book, but it will give you a great handle on the C language and if you practice it a little + you'll quickly get proficient. Understanding C helps you understand how programs and memory work. + - [answers to questions](https://github.com/lekkas/c-algorithms) + - [ ] **How computers process a program:** - [ ] [How does CPU execute program (video)](https://www.youtube.com/watch?v=42KTvGYQYnA) - [ ] [Machine Code Instructions (video)](https://www.youtube.com/watch?v=Mv2XQgpbTNE) -- [ ] **Compilers** - - [ ] [How a Compiler Works in ~1 minute (video)](https://www.youtube.com/watch?v=IhC7sdYe-Jg) - - [ ] [Harvard CS50 - Compilers (video)](https://www.youtube.com/watch?v=CSZLNYF4Klo) - - [ ] [C++ (video)](https://www.youtube.com/watch?v=twodd1KFfGk) - - [ ] [Understanding Compiler Optimization (C++) (video)](https://www.youtube.com/watch?v=FnGCDLhaxKU) - -- [ ] **How floating point numbers are stored:** - - [ ] simple 8-bit: [Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description)](https://www.youtube.com/watch?v=ji3SfClm8TU) - - [ ] 32 bit: [IEEE754 32-bit floating point binary (video)](https://www.youtube.com/watch?v=50ZYcZebIec) - ## Algorithmic complexity / Big-O / Asymptotic analysis - nothing to implement - [ ] [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4) @@ -1380,8 +1379,6 @@ You're never really done. ## Additional Books -- [ ] [C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628) - - [answers to questions](https://github.com/lekkas/c-algorithms) - [ ] [The Unix Programming Environment](http://product.half.ebay.com/The-UNIX-Programming-Environment-by-Brian-W-Kernighan-and-Rob-Pike-1983-Other/54385&tg=info) - an oldie but a goodie - [ ] [The Linux Command Line: A Complete Introduction](https://www.amazon.com/dp/1593273894/) @@ -1398,6 +1395,16 @@ You're never really done. ## Additional Learning +- ### Compilers + - [ ] [How a Compiler Works in ~1 minute (video)](https://www.youtube.com/watch?v=IhC7sdYe-Jg) + - [ ] [Harvard CS50 - Compilers (video)](https://www.youtube.com/watch?v=CSZLNYF4Klo) + - [ ] [C++ (video)](https://www.youtube.com/watch?v=twodd1KFfGk) + - [ ] [Understanding Compiler Optimization (C++) (video)](https://www.youtube.com/watch?v=FnGCDLhaxKU) + +- ### Floating Point Numbers + - [ ] simple 8-bit: [Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description)](https://www.youtube.com/watch?v=ji3SfClm8TU) + - [ ] 32 bit: [IEEE754 32-bit floating point binary (video)](https://www.youtube.com/watch?v=50ZYcZebIec) + - ### Unicode - [ ] [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets]( http://www.joelonsoftware.com/articles/Unicode.html) - [ ] [What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text](http://kunststube.net/encoding/)