|
@@ -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/)
|