About Computer Science

Things that are not directly connected with Factorio.
Sniper_of_Chess
Manual Inserter
Manual Inserter
Posts: 3
Joined: Fri Jun 10, 2016 2:20 pm
Contact:

About Computer Science

Post by Sniper_of_Chess »

Hello,
Since I learn c++ by myself I would like to know more about how computers exactly work. I was searching for some books, videos, but mostly found just "Introduction to Computer Science", "Basics of how computers work" etc. I would like to learn some advanced stuff like, how exactly CPU cache works, what does exactly mean "listening to port" (is there some code constantly running in CPU which sends signal to port XY and wait for something to happen?), how exactly interupting works etc.. Can you recomend me some books, youtube channels, webpages etc that could help my self study?
Thank you :)
SoShootMe
Filter Inserter
Filter Inserter
Posts: 517
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: About Computer Science

Post by SoShootMe »

As a first year undergraduate (some years ago...), I learned a lot from "Computer Organization & Design: The Harware/Software Interface" by Patterson and Hennessy. There may well be better alternatives, but it sounds like that's the sort of thing you're after. Look up the authors!
PanTobi
Fast Inserter
Fast Inserter
Posts: 202
Joined: Fri Feb 05, 2016 12:34 am
Contact:

Re: About Computer Science

Post by PanTobi »

OLC ( One Lone Coder )
https://www.youtube.com/watch?v=Q3moXZoqBEI

Computer Graphics and Games from Scratch ( in Console but u can also find 3D Games ( 3D in console ) )
Mostly math and some other Computer Science ( everything in C++ )



Sebastian Lague:
https://www.youtube.com/watch?v=I0-izyq6q5s
Video i link here is to "How Do Computers Remember" You can find a lot rly cool stuff on his Channel

https://www.youtube.com/watch?v=QZwneRb-zqA
In this Video You can see Logic Gates and how they work, im not sure but in this video u maybe can see how Computer Count and Save result
but it might be different Video... idk i dont remember :x...

Ofc. on Sebastian Channel u can also find Some Game Programming and its made rly rly cool <3



I think if u want to know how Computer Work... C++ is not rly great pick :x...
How about ASM?... but also... what do u mean by "I learn c++ by myself"?...

Anywaa... those two channels should be interesting for You :x...
+ You can make working Computer in Factorio

tbh. i have almost 0 knowledge about "How Computers work" so i can't "teach" you or help u
but even with almost 0 knowledge i made my own little computer in Factorio :x...

Idk if i can call it like this but my Factorio PC had "4 cores on CPU" xD
and by 4 cores i mean 4 clocks that can read and calculate different location of memory at same time :x...



Anywaa... Look at Channels i linked 4 u <3
KeepResearchinSpoons
Long Handed Inserter
Long Handed Inserter
Posts: 77
Joined: Tue Dec 01, 2020 6:57 pm
Contact:

Re: About Computer Science

Post by KeepResearchinSpoons »

IF you google it then a lot comes by. Like this for example.
please read the security-related part first. It is important
You cant know everything and the theory exists to be applied
you want to know what a web-service is
Code related
In my opinion you should have gotten all this from last year in school but bruh it depends as I can confirm seeing newbs. Not giving you a commercial here but well the list at https://everythingcomputerscience.com/ (liek the first google answer on `general info computer science` + some names + some pre-seed) is quite good in each of its parts.
speaking of hardware...
And liek find a field you won't be all dull and crazy to dump about in 2-3 years at least. Liek, coding is fun! Every one at Programmer's hangout knows that. But meh there are a lot of roads that differ veeeery much.
If you are into "coding" because of the idea that it is popular... Think on where to use it first. Really makes you being more efficient waay better then all those raw Time management apps all together.

Compare QML, GraphQL, SQL(postgress), NoSQL(not a sql apparently), json5. Consider ELF, Consistency model, Endianness for further reading and even IBM PC along with ZX Spectrum for a history tour. Among all the other aforementioned links.
User avatar
Challenger007
Inserter
Inserter
Posts: 26
Joined: Wed Feb 03, 2021 2:01 pm
Contact:

Re: About Computer Science

Post by Challenger007 »

Thanks for the collection of useful videos. Good to look at for general development. I am currently studying Python and I think understanding how my instrument (i.e., computer) works will be very helpful.
GrumpyJoe
Filter Inserter
Filter Inserter
Posts: 491
Joined: Fri Apr 06, 2018 7:10 pm
Contact:

Re: About Computer Science

Post by GrumpyJoe »

User avatar
jamiechi1
Filter Inserter
Filter Inserter
Posts: 272
Joined: Wed Jan 03, 2018 10:12 pm

Re: About Computer Science

Post by jamiechi1 »

GrumpyJoe wrote: Sun Feb 14, 2021 5:16 pm You build a CPU yourself.

https://youtube.com/playlist?list=PLowK ... 5dvjafglHU
Yes. FPGA's are good for that. fpgacpu.org (not an https site) has good info on this subject.

I originally learned to program a cpu with a development board. I read a lot of tech manuals. IBM used to publish the source code for the original IBM PC so reading and understanding the source code is helpful. The original Intel processor manuals can be helpful even now. From the 8008 to the first Pentium.

One of my first computers was a KIM1. And then a Heathkit H8. I couldn't afford an assembler at the time so I handcoded my assembler to machine code and entered it manually a byte at a time. (Both hex and octal.)

With all the years experience I have, it is difficult to say exactly where you should start. What I did then was to go to the library and read every magazine and book I could find on the subject. That was in high school in the 70's when Personal Computers were just being introduced. The smartest machine we had in school was a copy machine in the main office or maybe a calculator.

Copies of Byte and Kilobaud Microcomputing should be available somewhere and have many good tutorials on various subjects.

So go to the library, or internet. And read, and read some more.

Edit. I originally learned much about operating systems and hardware when I purchased the original source and textbooks for Minix. Looking at modern Linux distro source code will be helpful as well. Depending on how well the author of each piece of code commented things.
Disassembling the Bios source code on an older pc or clone is very good at learning how the cpu works as well. IDA-Pro is good for that.

And a good book for inspiration. "The Soul of A New Machine" by Tracy Kidder. (On Amazon)
Post Reply

Return to “Off topic”