Return to Level1Techs.com

Delving into the realm of computer science


#1

I was going to write an intro, but didn’t think it would be much appreciated to make someone read through that nonsense, especially if it is not required.

In short:
I want to become a real computer nut, and I am simply asking guidance into where to start and what path to follow, pertaining to which topics of computer science I should chronologically follow so I can build up my knowledge of the field (I realise I have a strong, self - diagnosed case of long-line-ititus). I’m not a complete dummy however, and know the basic functions of computer equipment (e.g graphics cards, cpu’s etc), but I really want to know the ins and outs of how these parts work. I have already started to get the ball rolling on this, and decided to start from base 1 (base 2 actually) and began studying analogue circuitry, and sorta go off in the home brew computer direction. But the problem I find is that I cannot find a resources that start low level and gradually build up the complexity to point where I can follow along. Essentially what I am asking is a recommendation on books / tutorials that implement a “zero to hero” design philosophy.

Thank you very much,

P.S I apologize for my trifle impertinence by making you read a long - winded paragraph.


#2

I’d recommend computer or electrical engineering instead of CS.

These days CS=programming and a very basic understanding of A+


#3

A route you might consider to get some basic computer knowledge is the Comp TIA A+ certification. You don’t necessarily have to get the cert, but you can find books that teach the material.


#4

Honestly, if you know how to program, I would recommend looking into emulated assembly languages like SIC Sim or something like that. You don’t really need the analogue stuff if you plan on being a Comp Sci type. Comp Sci is mostly mathematics and later on, you will see how the computer changed thar field (from electronic calculator to simulation management).

Once you have an understanding of assembly, then you can focus on hardware of your choice to see how it functions and what makes it unique. I recommend staying with something in the RISC category as it will be easier to follow.

If you have no experience with programming, then I would recommend picking up a language with a virtual machine and then graduating to C or the like.

If that is still too lofty for you, look into Deterministic Machines (Finite State Automata) and Touring machines. This approach is more math oriented but it will give you a firm basis in logic.

I don’t have any books to help you on your journey that are not college text books.

Maybe someone else can chime in on this. I honestly don’t know what you have a firm basis in as of yet, but you definitely need some math theory for Comp Sci. If you are more into the engineering route, then as mentioned EE or CE are more up your alley.

Ask yourself, do you want to know how yo make these things or do you want to learn how to manipulate these things?


#5

Hey man,

I would definitely recommend starting out with some sort of “intro” book. The best two that I’ve read are Starting Out With C++ and Python Programming: An Introduction to Computer Science.

Next, you’ll want to move into some sort of algorithm analysis. Algorithms and Data Structures in C++ is really good and the big red Algorithms book.

Once you get those down, you’ll want to move into a computer organization/computer architecture and operating system design book. Modern Operating Systems is fantastic, and one of my favorite books.

That is essentially the first two years of computer science. From there, you’ll want to move into Artificial Intelligence, Graphics, Compilers, and advanced UI/UX programming. This is where finding content gets difficult, but textbooks are incredibly useful.

Someone mentioned electrical engineering, and that Computer Science is basically a programming degree with A+. I disagree, that is going to depend on the school, and even then you will take a computer architecture class 99% of the time. A+ is basic hardware components. My computer science degree was mostly mathematics with some software and some hardware.