121 pointsby intelkishanDec 2, 2025

10 Comments

ares623Dec 2, 2025
Thank you Beejus
elseweatherDec 2, 2025
Beej's guide to network programming is an all-time classic, and I suspect this is the same (even before I've read it thoroughly).
pygarDec 2, 2025
Most reputable CS courses will have one or two math subjects (often called "Discrete Mathematics" or some variation).

Does anyone have any advice on tackling subjects like these for someone who hasn't done any math since high school more than a decade ago (and has forgotten it)?

umanwizardDec 2, 2025
My advice is to (re-)learn elementary algebra to a proficient level before attempting any other branch of math. That is a core prerequisite for absolutely everything. By elementary algebra I mean roughly everything in classes called “Algebra” or “pre-calculus” that you learn in an American high school before calculus. Geometry and trigonometry can’t hurt either but algebra is more central.
tresdotsDec 2, 2025
For as much as I've learned in the last 10 years of being a software engineer, I've frankly forgotten at least half of the maths I once knew.

Of course, I could take the time to re-learn it all if need be, but I'm definitely thankful to have went straight from high school into college. Having to re-learn everything just to be at baseline would make the whole experience far less enjoyable. Kudos to those that have done so.

chrisweeklyDec 2, 2025
randmeerkatDec 2, 2025
imvetriDec 2, 2025
Thanks for this !
hahahacornDec 2, 2025
I’ve had Beej’s Guide to C and Beej’s Guide to networking bookmarked for an embarrassing amount of time.

But this is the first guide that I know the material! I have “learned computer science” (somewhat). And I have to say it has propelled Beej’s other guides to the top of my reading list. The subchapters I skimmed and their content are just so relevant and I know many new and experienced devs (myself included) who would still benefit greatly from reading this. Just exceptionally well done.

bencorniaDec 2, 2025
I recently read his networking guide as part of a class and it was invaluable. It gets you up to speed without overwhelming you with detail. It's a lightweight read.
chrisweeklyDec 2, 2025
That sounds like HPBN (High-Performance Browser Networking), an awesome and accessible resource everyone doing anything w the web should read. https://hpbn.co (not .com)
zeeqeengDec 2, 2025
I've had Beej's Guide to C, and I would say it's the best C learning material for myself ever.
matt3210Dec 2, 2025
Beej taught me networking in c in the early 00s. He will now teach my son computer science in the 20s. The circle of life.
pmontraDec 2, 2025
Well done but is this a guide to Computer Science or to Software Engineering? In a Guide to CS I expected to find information theory, computability, complexity, finite state automa, language grammars etc.

Anyway, the audience is

> Undergrad students just getting into programming

so it's naturally biased toward the engineering part of the subject.

kaladin-jasnahDec 2, 2025
What about operating systems, architecture, compilers, networking, and the like? I have seen people argue that computer science is the more theoretical side of things, but many university CS programs cover both systems and theory (or sometimes skew to one side).
johnnyanmacDec 2, 2025
I see it as "learning how to learn", not directly learning itself like a curriculum. It's more for those who want to build proper study habits.

Reading the chapter of AI seems to support that feeling. It was about tips on where to use it, where to not use it as a shortcut, how to be critical of any output, and some personal speculation.

hahahacornDec 2, 2025
> 1 Foreword

> Are you getting into Computer Science, or thinking about it? Or maybe you’re in it already. This super-high-level guide is for you!

> I’m not going to talk about how to write code (much). I’ll I’m going to talk about in these roughly 40 pages is more about how to learn when you’re a nascent software developer.

Page 1

alexchantavyDec 2, 2025
> So, while it’s clearly possible to have a career in a lucrative field you dislike, it’s (a) going to be harder for you than for people who like it and (b) maybe you should consider a field that you do like?

> You gotta want it. Do you want it enough to go through the tremendous amount of effort it takes to learn it? Maybe you hate programming, but you want the money enough. Maybe you don’t care about the money, but you want to program every second of the day.

> Just make sure you have the drive to make it happen.

Man this is so true

silisiliDec 2, 2025
I feel stupid saying this over and over each time one of his guides pop up, and I know he lurks here, but thanks Beej.

All of his material is absolutely top notch. His guide to network programming was instrumental to both my understanding and career. It often feels like thanks isn't quite enough.