![[Screenshot 2024-06-30 at 8.35.37 PM.png]] These are [my](https://vickiboykis.com/) notes, exercises, and links for the series of video lectures covering learning C, computer architecture, and low-level programming offered [in a course by Dr. Chuck](https://www.cc4e.com/). ### Course Reference + [YouTube Lecture](https://www.youtube.com/watch?v=PaPN51Mm5qQ&t) || www.cc4e.com || [K+R Book ](https://www.cc4e.com/book/chap00.md) || [ GH Repo]([https://github.com/csev/cc4e](https://github.com/csev/cc4e)) || [C-11 Standard](http://port70.net/~nsz/c/c11/n1570.html) ### Course Notes and Side Quests + ⌨️ [K&R 0: Historical Context](Historical%20Context.md) + ⌨️ [From Python to C](From%20Python%20to%20C.md) + ⌨️ [K&R 1: A Tutorial Introduction](Chapter%201%20A%20Tutorial%20Introduction.md) + [Unicode and Character Sets](Unicode%20and%20Character%20Sets.md ) + [[Chapter 1 A Tutorial Introduction#Chained Assignment|Chained Asignment]] + [[Chapter 1 A Tutorial Introduction#EOF|EOF]] + [[Chapter 1 A Tutorial Introduction#Sidebar on floating point| Floating point]] + [[Chapter 1 A Tutorial Introduction#Sidebar on 32-bit processors | 32-bit processors]] + ⌨️ [K&R 2: Types, Operators, and Expressions](Chapter%202%20Types%20Operators%20and%20Expressions) + [[Chapter 2 Types Operators and Expressions#Endianness |Endianess]] + [[Floating Point Standards]] + [[Chapter 2 Types Operators and Expressions#Prefix and Postfix |Prefix and Postfix]] + ⌨️ ([05:04:13](https://www.youtube.com/watch?v=PaPN51Mm5qQ&t=18253s)) [[K&R 3: Control Flow]] + [[Chapter 3 Control Flow#Binary search|Binary Search]] + [[Chapter 3 Control Flow#Collection-controlled loops||Collection-controlled loops]] + [[Shell Sort]] + [[Chapter 3 Control Flow#do while|do while]] + ⌨️ ([06:04:05](https://www.youtube.com/watch?v=PaPN51Mm5qQ&t=21845s)) [K&R 4: Functions and Program Structure](https://www.youtube.com/watch?v=PaPN51Mm5qQ&t=21845s) + [[Chapter 4 Functions and Program Structure#Call by Value versus call by reference| Call by value]] + [[Chapter 4 Functions and Program Structure#Grep implementation|grep]] + [[Chapter 4 Functions and Program Structure#Scope Rules| Scope Rules]] + [[What is a buffer]] + [[Chapter 4 Functions and Program Structure#Recursion|Recursion]] + ⌨️ ([08:06:01](https://www.youtube.com/watch?v=PaPN51Mm5qQ&t=29161s)) [[Chapter 5 Pointer and Arrays]] + [[Chapter 5 Pointer and Arrays#Pointer program|pointer example]] + [[What is a buffer]] + [[Chapter 5 Pointer and Arrays#The Worst Computing Security Hole in all of history|The Worst Computing Security Hole in all of history]] + ⌨️ ([09:58:08](https://www.youtube.com/watch?v=PaPN51Mm5qQ&t=35888s)) K&R 6: Structures ### Secondary Sources + **Book**: [Computer systems: A Programmer's Perspective](https://csapp.cs.cmu.edu/) + **Notes:** [Computer Hardware Organization](Computer%20Architecture%20Hardware.md) + **Notes:** [Levels of Memory Access](Levels%20of%20Memory%20Access.md) ### Papers + [Misconceptions about Loops in C (PDF)](https://dl.acm.org/doi/pdf/10.1145/3652588.3663324) + [Portability of Unix Programs](https://www.bell-labs.com/usr/dmr/www/portpap.pdf) + [C Programming Language: A Review](https://www.researchgate.net/publication/371166462_C_Programming_Language_A_Review) + [[Chapter 2 Types Operators and Expressions#GOTO considered Harmful | Goto Considered Harmful]] Last Modified: August 27, 2024