Join our C & ASM Dev Discord community - https://t.co/lcb4Nn3ohk | University CS & Math | Studying for OSED | Excessively driven developer
Jun 21 • 6 tweets • 3 min read
Dr. Randal E. Bryant breaks down C and assembly:
- Arrays vs pointers - what's the difference?
- How multi-dimensional arrays actually work
- Structs and memory alignment
🧵1/n 👇Course book, assignments, and all video lectures.
Videos from the book:
Computer Systems: A Programmer's Perspective" provides a detailed look at how computer systems function, focusing on system-level programming in C and x86 assembly.
🧵2/n All lecture material and Videos below 👇
Jun 19 • 10 tweets • 8 min read
These are the best books you can buy to learn x86-64 assembly.
🧵1/n God tier collection of papers videos exercises and lectures👇
Cheatsheet I wrote for writing x86 Windows shellcode and the Win32 Shellcoder I developed while studying for my OSED Exploit Development certification.
Unix Network Programming, Volume 1: The Sockets Networking API, 3rd Edition, is god-tier for learning C socket programming. It covers TCP/IP, UDP, SCTP, raw sockets, and IPC under System V and BSD UNIX.
I've added a thread with some goated resources.
🧵0/n
🧵1/n
Here are some free online computer networking courses that complement the book.
1) CS 144 Introduction to Computer Networking - Stanford University, Fall 2013
2) Computer Networking: A Top-Down Approach
3) Computer Communication Networks, Rensselaer Polytechnic Institute - Fall 2001
4) Audio/Video Recordings and Podcasts of Professor Raj Jain's Lectures - Washington University in St. Louis
5) Computer Networks, Tanenbaum, Wetherall Computer Networks 5e - Video Lectures
6) CSEP 561 - PMP Network Systems, Fall 2013 - University of Washington
7) CSEP 561 – Network Systems, Autumn 2008 - University of Washington
8) Computer Networks - IIT Kharagpur
9) Introduction to Data Communications 2013, Steven Gordon - Thammasat University, Thailand
10) Introduction to Complex Networks - RIT
11) Structural Analysis and Visualization of Networks
12) Data Communication - IIT Kharagpur
13) Error Correcting Codes - IISC Bangalore
14) Information Theory and Coding - IIT Bombay
15) Complex Network : Theory and Application - IIT Kharagpur
16) Advanced 3G and 4G Wireless Mobile Communications - IIT Kanpur
17) Broadband Networks: Concepts and Technology - IIT Bombay
18) Coding Theory - IIT Madras
19) Digital Communication - IIT Bombay
20) Digital Voice & Picture Communication - IIT Kharagpur
21) Wireless Ad Hoc and Sensor Networks - IIT Kharagpur
22) Internetworking with TCP/IP by Prof. Dr. Christoph Meinel - HPI
Prof. John Guttag from MIT outlines standard algorithms in computer science you should be familiar with, including brute force, divide-and-conquer, and advanced methods such as successive approximation and Newton-Raphson.
10/10 Book recomendations for C systems programming.
Book 1:
The Linux Programming Interface (TLPI) by Michael Kerrisk is goated for learning Linux systems programming in C. The book has over 200 example programs.
🧵1/5
Key topics:
- Efficient file I/O
- Signals, clocks, and timers
- Process creation and execution
- Secure programming
- POSIX threads for multithreading
- Shared libraries
- Interprocess communication
- Network programming with sockets
🧵2/5
May 14 • 18 tweets • 21 min read
Computer Systems: A Programmer's Perspective" provides a detailed look at how computer systems function, focusing on system-level programming in C and x86 assembly.
This is a large thread covering the book materials, including 17 video lectures that will be added over time.
Required Reading:
Professor Jerry Cain from Stanford University covers C programming, emphasizing pointers and structs. He demonstrates an unconventional method to access struct fields. I highly recommend this entire 29-video series for anyone interested in C.
Full Series: Stanford University - C programming