🧵1/n Jerry Cain from Stanford University explains pointers and structs in C, showing a clever way to access struct fields. This series is one of the best resources online for C programming.
Source: Stanford University
👇 Lectures with handouts, assignments, and videos.
🧵1/2 MIT's Charles Leiserson covers the progression from source code to compilation, machine code, hardware interpretation, and ultimately, execution.
👇Full MIT Performance Engineering of Software Systems Course 👇
🧵2/2
The course programming language is C.
Performance Engineering of Software Systems is an 18-unit class that provides a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching optimizations, parallel programming, and building scalable systems.
xv6 is a modern re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6) for RISC-V multiprocessors, using ANSI C. Developed by MIT, it is designed to teach fundamental OS concepts.
- 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 👇
Course Materials and Labs
Course Schedule and Materials:
Lab Exercises:
Y86-64 Simulator Documentation:
Virtual Memory Documentation:
Book's Official Site:
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.
@XenoKovah's x86-64 ASM course and the subsequent courses are where the books mentioned in 1/n were recommended.
There are full video lectures, including exercises for everything on OST2. It's an absolutely top-tier, free learning platform from the best in the industry.
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