Computer Architecture and Organization
Why cover Computer Arch and Organization?
One of my friends Abe once told me to to think low and program high, so over sometime I will be covering C, Assembly Language, etc.
This page will be divided into 3 Different Sections
with:
-
Part One: will cover the low level things like Boolean Logic, Computer Architecture, Computer Systems Basics, and writing C Code
- Have tons of Notes + Code on low level C code and Pointers
-
Part Two: will cover writing Assembly Code
-
Part Three: will cover Computer Systems inlcuding Memory and Linking
Part 1: Introduction
Chapter 1: Boolean Logic
- Logic Gates (Low Low Low Level Things)
Basic C Programming
Data Structures in C (Stack vs. Heap)
Pointers
- Everything you need to know and understand about Pointers in C:
Basic Introduction to CPU and How a Computer System Works
Introduction to Computer Systems
Part 2: Assembly Code
Introduction to Assembly
Lectures 6,7,8,9 and 10 Included
Assembly One: Intro to Assembly: Intro, Registers, Numbers, Math, Memory
Assembly: If/Then, Loops
Assembly: Functions
Assembly: Functions Wrap, Pointers, Arrays, Structures, Advanced
Assembly Four: Functions wrap, Pointers
Part 3: Computer Systems (Memory, CPU, Cache, Linking)
Lectures 11,12,13, and 14 Included
Dynamic Memory Allocation
- Allocating Memory on the Heap Stack including using the keywords
malloc
,realloc
,free
, andsomeother keyword
Cache Memories
- Directed Memory Access Notes
Linking
- Linking
C
files togther and such
Computer System Projects
Project 1: Number Translation in C
- Using C to build a number translator for converting numbers from binary to decimal and hexidecimal!
Project 1: Number Translation in C
Project 2: Engima Machine
- Build an Engima Machine in C, which takes in an excrypted message and translate its.
Project 3: Linked Lists
Project 4: Escape Room
- Reverse Engineer Assembly code into functioning C Program
Project 5: Memory Allocator
- Building a (Dynamic) Memory Allocator
Project 6: Cache Simulator
- In this Project you’ll develop your own basic cache simulator. This will further your understanding of cache basics and strengthen your C programming skills.