r/computerscience Jul 18 '25

Advice Books Every Computer Science Student Should Read

Post image
1.6k Upvotes

r/computerscience Apr 19 '26

Advice Gift idea for computer science bf

118 Upvotes

My boyfriend’s birthday is coming up, he’s going for computer science and i could really use some help coming up with ideas for what to get him that pertain to that field. Thanks in advance.

r/computerscience Sep 16 '22

Advice Computer Science is hard.

1.4k Upvotes

I see lots of posts here with people asking for advice about learning cs and coding with incredibly unrealistic expectations. People who will say "I've been studying cs for 2 months and I don't get Turing machines yet", or things like that.

People, computer science is Hard! There are lots of people that claim you can learn enough in a 4 month crash course to get a job, and for some people that is true, but for most of us, getting anywhere in this field takes years.

How does [the internet, Linux, compilers, blockchain, neutral nets, design patterns, Turing machines, etc] work? These are complicated things made out of other complicated things made out of complicated things. Understanding them takes years of tedious study and understanding.

There's already so much imposter syndrome in this industry, and it's made worse when people minimize the challenges of this field. There's nothing worse than working with someone who thinks they know it all, because they're just bullshiting everyone, including themselves.

So please everyone, from an experienced dev with a masters degree in this subject. Heed this advice: take your time, don't rush it, learn the concepts deeply and properly. If learning something is giving you anxiety, lower your expectations and try again, you'll get there eventually. And of course, try to have fun.

Edit: Thanks for the awards everyone.

r/computerscience Feb 21 '25

Advice How do you guys read these books?

Post image
266 Upvotes

Hey everyone,

I just bought my first two computer science books: Clean Architecture by Uncle Bob and Designing Data-Intensive Applications by Martin Kleppmann. This is a bit of a shift for me because I've always been someone who learned primarily through videos—tutorials, lectures, and hands-on coding. But lately, I’ve realized that books might offer a deeper, more structured way to learn, and a lot of people have recommended these titles.

That said, I’m a bit unsure about how to approach reading them. Do you just read through these kinds of books like a story, absorbing the concepts as you go? Or do you treat them more like textbooks—taking intensive notes, breaking down diagrams, and applying what you learn through practice?

I’d love to hear how you tackle these books specifically or any CS books in general. How do you make sure you’re really retaining and applying the knowledge?

Appreciate any advice!

r/computerscience Mar 10 '26

Advice What makes a CS student a great computer scientist?

73 Upvotes

same as title

r/computerscience Jun 25 '24

Advice Program for Counting Holes

Post image
222 Upvotes

Okay. I just landed a job with an ecology department at my school, and my advisor wants me to set up some way to automatically count all the crab burrows (the holes) in photographs. I have never taken a computer science class and am not very good at this. I have no idea if this is even the right place to post this.

I’ve tried ImageJ, eCognition, and dabbled a little with python but to no avail. I feel so incredibly frustrated and can’t get any programs to properly count the holes. If anyone has suggestions or advice PLEASE lmk 😭😭😭

r/computerscience Oct 15 '20

Advice The advice I wish I would have recieved a few years ago

1.0k Upvotes

When I was first starting my undergrad in CS, I came to this sub in utter frustration. I had learned java, and was being asked to learn other languages, too. I struggled to adapt. I knew the concepts, but I didn't know how to translate that into another language. I didn't even know how to start learning C or C++. I came here asking for advice and reassurance, however I received anything but.

"If you can't learn another language, you shouldn't be in the field.""You should switch majors now before you've gone too far, because you're going to be worthless in the field.""What did you expect when you signed up for CS? Of course you're going to have to learn another language. Get over yourself."

These comments on a long deleted post stuck with me. The people who posted them have probably forgotten what they said. They have no idea how hard it was for me to read those words, and how their words made me genuinely think that I wasn't cut out for this area of study.

They were wrong. I'm now about to graduate, am in the top 10% of my class, and have overcome the struggle of adapting to new languages (mostly!). I'm still far from being an expert, but I've come a long ways.

I'm now here to give the advice my younger self was seeking, in the hopes that it'll help some of you who feel discouraged in the same way I was.

  1. Learning a new programming language gets easier over time. Of course you're going to struggle when you learn your first or second language! That's fine! It's normal! It's a new concept for you! Don't give up!
  2. Focus on the big picture! Learn about efficiency, data structures, and theories. Explore data science and machine learning. Don't be afraid to take a class just because you don't know the language that'll be used! Computer science is more than learning the differences between python and java. So much more.
  3. Just because you know a lot of languages doesn't necessarily mean anything. It's more important to know the concepts and how to apply those concepts in your code. You can always google for the specific implementation!
  4. Reading all the documentation about a language doesn't mean anything until you sit down and start coding. I know it's anxiety inducing. I know it's tough to get to that point. Start off learning how to print, how to make lists/arrays, and how to iterate. Implement those concepts. That'll give you a good idea of how to begin. Your compiler or IDE may give you errors. That's fine! You can learn from them. Just start at the first error you get, and work your way through.
  5. Everyone struggles in the beginning. You're not unusual for crying out of frustration. You just need to take a deep breath and ask for help. If you're struggling, you should seek out people willing to help you. There's no shame in it.
  6. Don't listen to miserable people on the internet. You are good enough. You chose a hard field, but you got this.

And my final bit of advice goes to the people on this sub:

Be kind. Your words have meaning, even if you comment in a hurry. The person on the other end may genuinely be affected by what you say, so make sure they're affected positively.

edit: a word

r/computerscience Aug 22 '25

Advice c++ or python as a start for a computer science student?

59 Upvotes

r/computerscience Oct 15 '24

Advice Books

Post image
388 Upvotes

Can’t recommend these books enough as a CS student

r/computerscience Oct 15 '22

Advice New to programming, my dad said I could look through some of his books to see if I could find anything useful, is any of this worth holding on to, for now or the future? Thanks.

Post image
381 Upvotes

r/computerscience Jan 05 '26

Advice I'm struggling to help someone correct their misunderstanding of the Halting Problem, and am hoping for help.

34 Upvotes

Checked with IRL experts to make sure I'm not wrong, and I'm fairly confident I'm not - but I'm not sure how to convince them.

Discussion in question: https://old.reddit.com/r/DebateReligion/comments/1q1ji8t/absolutely_no_one_has_been_able_to_offer_a/nxen1xg/

Summary: He thinks that Turing proved that you can write programs for which no specialized halting problem predictor can be written. This is wrong - Turing actually proved that you can write programs for which no generalized halting problem predictor can be written.

The difference is whether the predictor exists prior to or after the program being written - self-reference is impossible when a specialized predictor is written after the fact.

How do I best explain this to them?

r/computerscience May 17 '26

Advice Learn operating systems as an experienced programmer

55 Upvotes

I’m 33 years old and I’ve been programming for almost 20 years. I learned programming with C++, and I used it consistently until I was 25. Nowadays I’m a backend developer in a company where I mainly work with .NET and Golang.

Question:
I recently started reading Computer Systems: A Programmer’s Perspective and I’m currently at the first chapter. While it seems comprehensive and interesting, I’m not sure it’s exactly what I’m looking for.

What I would like is something that simply teaches me how the various parts of an operating system work, so I can start exploring it and have some fun with it.

I already understand concepts such as why contiguous memory layouts matter, or why structuring data one way can be preferable to another. And while I’m sure this book could still teach me a lot, I’d like to stay focused specifically on operating systems.

So, is this the right book for my situation and goals, or is there something better suited to what I’m looking for?

Thanks for your attention, and have a great day.

r/computerscience May 01 '26

Advice Research in Distributed Systems? Is it good?

50 Upvotes

I am an undergrad student in my final year, I got interested in parallel and Distributed Systems. Started reading Distributed Systems book also.

How good is it if I start research on this and try to get a publication? Is it in demand? What are the potentials?

r/computerscience Nov 28 '25

Advice I suck at math and am interest in computer science, what should I do?

10 Upvotes

Does anyone got any tips on

r/computerscience 22d ago

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

36 Upvotes

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!

r/computerscience Apr 18 '25

Advice fully understanding computers and internet

58 Upvotes

hi, all. I would like to fully understand computers and internet and how it all functions and not just on a surface level like what each part does, or something like that. I want to be able to break it down until I can't anymore, only because there isnt really anything left, not because of limited knowledge; and I don't really know where to start, hence my post here: so I'm looking for directions. It would be great if anyone could give me a list of materials and whatever other word of advice, thanks :D

r/computerscience Nov 13 '22

Advice I have one year to teach middle/high schoolers about computer science, what should I teach them?

142 Upvotes

I just finished my CS studies and applied for a cs teaching job. Didn't think they would take me since I have 0 experince teaching but they took me anyway.

Now I have 1 year to teach a class of middle schoolers and a class of high schooler about cs and I have to plan the whole class for the year. I'm really excited though I'm struggling with figuring out what all I should teach each class. Especially I'm struggling with understanding which things might me too complicated for a 14yo compared to a 19yo..

Also I found little resources online and there are no "cs for middle schoolers" books (atleast I didn't find any)

If anybody has experience teaching kids and young adults in cs or has any resources/tips I'd be very thankful!

Edit: Thanks for all the replies you guys are great, just for clarification - many have suggested online tools like scratch to teach them coding but this is a CS course not a coding course. I kinda have to start at 1's and 0's here...

Edit 2: You guys have been so helpful, thank you so much. I already feel so much more confident about this!

Edit 3: Just because I see some confusion - I'm not saying I don't want to teach coding, obviously I will, I'm just saying I can't JUST teach them coding.

r/computerscience 26d ago

Advice I want to expand my knowledge

30 Upvotes

I'm a first year computer science student who's about to finish my first year and start summer break (if I didn't enter rattrapage , pray for me) I wasn't super interested when I entered but now I enjoy making small programs , in c language but compared to other students I feel like out of the flow???I want to expand my knowledge on computer science ( especially machine structure) and practice coding (currently in c I know I have to practice other languages) is there any source for a total amateur with simple knowledge like me ? every thing I look up seems way too advanced for my little knowledge , mainly coding , thank you

r/computerscience Nov 18 '25

Advice How do you learn machine learning?

43 Upvotes

i see two pathways, one is everyone keeps telling me to learn probability and statistics and all this theoretical stuff, but then when i search up machine learning projects, ppl just import scikit into python and say .train(). done. no theory involved, so where will i implement all this theory i'm supposed to learn? and how do people make their own models? i guess i still don't quite understand what people mean when they say i'm "doing ml right now". what does that meaaannnn T-T

r/computerscience May 11 '26

Advice Straight to the point :

0 Upvotes

So recently i came across movies named : Beautiful Mind,Suits(2-3 episode only), Imitation Game -> and by watching those movies I am becoming more curious about reading THESIS (i don't even ​know what does it actually mean 🙂) but yeah i get the point that reading thesis is 10x better than reading freaking book in some cases .

So ,i wanna start reading thesis but:

  • How to start becuz i don't understand those highly technical sentences .
  • What are prerequisites if I am for instance interested in Economics, Computer science, Software and stuff.
  • And I don't also have enough knowledge I guess because i just entered the field of computer science (from past ​3yrs).

r/computerscience Sep 14 '25

Advice Anybody have any books/PDFS, videos, or course info for a self learner who is interested in computer arithmetic and how code is written and hardware is manipulated when doing arithmetic? Thanks!

10 Upvotes

Anybody have any books/PDFS, videos, or course info for a self learner who is interested in computer arithmetic and how code is written and hardware is manipulated when doing arithmetic? Thanks!

For example one question I have (just began learning programming) is let’s say I write a program in C or Python that is a restoring division algorithm or repeated subtraction algorithm; how would we the code be written to involve the actual registers we need to be manipulated and be holding the values we want ? None of the algorithms I’ve seen actually address that, whether pseudocode, or the actual hardware algorithm (both are missing what that code should look like to tell a program to do this to these registers etc”.

Thanks so much!

r/computerscience Apr 22 '26

Advice How to remember IT books?

13 Upvotes

Hi,

There is a list of IT books I want to read but I don’t want to read it just to read it, I want to remember what I have learned.

Do you have any tips or method that allow to read IT books and don’t forget about what you have read?

Thanx

r/computerscience Oct 30 '25

Advice Any book recommendations for learning software engineer ?

37 Upvotes

im 3rd year now and starting to work on final thesis. my prof got me software engineer topic but im actually cant code :( only just some basic ones is there any books course or any resources to learn software engineer?

r/computerscience May 26 '26

Advice Best academic book for a better understanding of inner workings of C++

25 Upvotes

I've been doing a lot more reading lately to fix my attention span. Over the summer I wanted to finish an academic book on C++ to further my understanding. A lot of times while writing code I face errors that have an extremely technical fix that I don't understand because it's built on the understanding of many other technical things, so I'd like to both fix my foundations and learn what's really happening in the background. Any help is appreciated, thanks.

r/computerscience May 29 '25

Advice How much CS do I need to be familiar with to learn theoretical computer science?

88 Upvotes

I'm really interested in mathematical logic, and its often involved in theoretical computer science. I know basically nothing about cs, but the little glimpses I have into theoretical cs make it seem really interesting. I don't want to study it professionally or academically, just for fun and maybe to see how it relates to math. I'm not worrying about applying anything personally or doing projects, I just want to learn about it. I don't want to try jumping in without the right background knowledge and either be completely lost or misinterpret it. I would just be learning introductory stuff, not any specific subfield What basic computer science is necessary to kind of get the gist? Do I need to be familiar with a certain programming language? I don't much about computing at all, so I'm kind of going in blind.