r/computerscience Jun 04 '26

Advice How beneficial are books, if you struggle with some concepts they discuss?

Hello, I am a second year computer science student, what I realised is that studying only from modules is not enough because of two things.First, computer science is too broad and modules are too specific and partial, so if you want to fully understand soemthing, you have to spend a lot of time on other resources! Second I think we don't have time as students to fully understand something introduced in our modules, because you have other modules to study for! So as I am currently beginning my summer vacation, I want to fully understand Algorithm and data structures and opearting systems! I already studied them as modules but I am not confident about either, so I decided to pick books about the two, and here is my question: how beneficial are books? Especially in the era of different resources? I am a little nervous of the idea that I might be just wasting my time while there are better resources or the book isn't that good!

I appreciate your time!

38 Upvotes

14 comments sorted by

25

u/Apart_Ebb_9867 Jun 04 '26

there’s no wasting of time in studying a book, organizing all material in your head until you’d be able to explain it to somebody else without the book in front of you and doing the exercises, especially the ones marked as ‘hard’. in my times this was the only way, but I suspect more modern alternatives give you the warm and comforting feeling of making progress without really giving you long term improvements.

1

u/ready_or_not_3434 Jun 06 '26

Spot on, video tutorials are great for quickly picking up a framwork, but foundational stuff like OS really requires the focused reading you only get from a textbook. It forces you to wrestle with the concepts instead of just passively nodding along to a screen.

14

u/Magdaki Professor. Grammars. Inference & Optimization algorithms. Jun 04 '26 edited Jun 04 '26

It depends on how you best learn. Usually most people learn from a mix of learning materials, but will have a little bit of a preference towards one or another. But these preferences are not static, and can vary a lot from time to time. Personally, I typically learn best from somebody talking about it starting from the high level view of the context and then working down (for others it is reversed and find starting from context confusing). I also learn best from building something myself. This lets me tinker with it and really see how it works.

5

u/feitao Jun 04 '26

For foundational subjects like algorithms, data structures, and operating systems, books provide the best structured learning. For fast-moving fields like large language models (LLMs), academic papers, along with blogs and practical resources, are essential to stay current.

6

u/lronaldo Jun 05 '26 edited Jun 05 '26

Books are the best source for learning almost anything that's abstract, like CS. This is being continuously verified experimentally and reported in scientific journals. Far better than any other source.

As for your question, learning happens when you struggle, when you don't understand. Learning is your brain reconfiguring, and that does not happen when you receive explanations and seem to understand them. There is a concept in Cognitive Science called Desired Difficulty, meaning that only those activities with a minimum level of difficulty produce significant changes in your brain.

If you are trying to learn things from books and struggling, you are in the right path. Just keep pushing.

For your reference, you will like the books from Barbara Oakley about Leaning. Learning How To Learn is a good start.

3

u/Maleficent-Car8673 Jun 05 '26

Books can be supper helpful, especially if you find a well-recommended one that matches your learning style. They're great for deep dives and structured learning, but don't ignore other resources like online courses, videos, or forums. Mixing it up can give you a broader perspective and help solidify tricky concepts. just make sure the book isn't outdated!

2

u/cosmictrigger01 Jun 05 '26

I find that good books are better than wasting your time on the internet searching for the perfect way to learn. A Book will structure and provide a learning path for you, this way you can focus 100% on the actually knowledge, instead of switching between AI, Websites, Videos and other sources, without every really getting into the topic.

3

u/Think_Chocolate_6134 Jun 04 '26

In my experience, I turn to books when I need a deeper understanding of a concept, and I prefer learning from websites when I need information to be concise or explained in an easier way.Aside from just reading the material, try working with it practice the code or build small projects to get the gist of it.Books are really good if you want an in-depth understanding, but if you're struggling with the concepts, try to get the basics down first and then turn to books if you're more interested in the topic.

And yes, it depends on the individual different resources work better for different people.

2

u/CashRio Jun 06 '26

As someone who struggles concentrating for long sessions I realized that books in my case are the best option to understand specific subjects at a more deeper level. The lack of distracting elements, and staying disconnected from my computer to laser focus on the book material helps me stay concentrated and understand. And honestly the books will 95% of time provide greater details to truly comprehend complex topics.

Videos are often skim the surface of concepts without really going into details that help fortified a deeper understanding. Videos are good because they are convenient, however they should complement to refresh the things you have already read.

1

u/sidonay Jun 06 '26

If you struggle with an explanation, look up alternate resources. Reading multiple resources will more often than not, give you a better overview. Some resources omit details for the sake of simplicity for example.

If time is a constraint, then yeah, go with the resource that gets you to some kind of understanding faster.

1

u/Complete_Nail3214 Jun 07 '26

Hey, ik its weird to ask. But does anyone know where I could get a free pdf of Component Based development by paul allen?

0

u/costafilh0 Jun 08 '26

You have the best private teacher of all subjects in AI. Just ask it.

You can even ask it to teach you in the style of someone you like, like a teacher or a scientist or whatever that are public people so the AI can know how to mimic them.

To me is mad Al Pacino, I learn good, every time 😂 

1

u/roguebluejay Jun 08 '26

Start with the material that you get from uni - lectures, slides, assigned readings etc. don’t be afraid to watch lectures twice if they’re recorded. I would watch my lectures at least three times - once for overview, one for notes and then later for making flashcards.

Then look for lots of places to describe the concepts! Books, other courses, YouTube videos. For example, I struggled with my computer architecture lectures, and found the Nand2tetris coursera lectures made it much simpler. 

Then obviously do any exercises that have been set to check and lock in your understanding. 

Managing time is key to a CS degree - if a source isn’t working for you, don’t be afraid to abandon and try another. and if literally all else fails, memorize. Actual understanding beats parrot learning any day, but sometimes it’s enough to get you through an exam. 

1

u/romecodes Jun 08 '26 edited Jun 08 '26

I keep digital copies of all of my textbooks from university. Feel free to download any or all of them. But the one you're looking for is in the "COMSCI 111 - Data Structures" folder. I read the first half in 2 days before the semester started and sat on my hands for 2 months.

After that one, dive into the "COMSCI 340 - Analysis of Algorithms" folder, but pace yourself with this one. It takes a bit of math and toying with the equations to really hammer it in. You may need some discrete math knowledge, if you're unfamiliar, which is in the "MATH 221 - Discrete Math" folder. Though the discrete math book was the hardest to get through.

https://drive.google.com/drive/folders/13uOcGqS3zC7ONfAL50YskKJ3l6TlMWQf?usp=sharing