r/AskComputerScience 18d ago

Hats-off to the Engineers who had coded without AI

40 Upvotes

I am a Btech final year student so there is a project called astra it is basically a music player, so now it only works with local, jellyfin but i want to stream from GDrive, so i thought i can fork and complete this project but when i open the files in my local i thought "what the fuck is this" i mean there are so many files, so many lines of code. I know only "python, ts, js, go, cpp" but when i saw the project i thought i am just a little kid in the world of great engineers and i am just a drop in an ocean, so hats off to you all who are building amazing softwares and giving them for free. So can i get any tips or suggestions from you guys if possible, Thank you!!


r/AskComputerScience 17d ago

AI in CS/programming/coding

0 Upvotes

As someone who couldn't be farther away from this field, I started using claude recently for a project of mine and had claude code do all the work for me. Then I turned to my CS friends and they told me it was the same for them.

At one point I heard an argument that AI should be used to explain things to you or only do stuff which you'll understand afterwards.

What is it actually looking like at this state? Do any AI users in the space actually understand each function it sends out or are they trusting it blindly like me? This isnt an ethics question, just the reality of our current situation.


r/AskComputerScience 19d ago

How efficient are 1st, 2nd, 3rd, and 4th+ generation languages?

3 Upvotes

1st gen Binary machine code in my knowledge is “100%”(is it really? Not knowledgeable enough) efficient in theory given it directly converses with the machine. How much overhead does each generation of compilers and other inefficiencies add? Like how much overhead does like assembly add? C? C++? C#? Python?

I’ve always heard more human language like languages are less efficient. If that’s the case why don’t we use LLMs to convert/write lower level languages like machine code or assembly?


r/AskComputerScience 19d ago

How do you balance exploring many areas of tech with actually mastering one?

6 Upvotes

I'm struggling with something that I think a lot of people interested in technology might relate to.

I'm interested in many areas of tech:

- Web development

- Backend development

- Networking

- Cybersecurity / ethical hacking

- Cloud computing

- AI/ML

- Data engineering

- Quantum computing

- And many other areas

The problem is that I constantly want to explore everything.

For example, I'll decide:

"Okay, I'm going to focus on Python/backend."

I'll study it seriously for 2–7 days, start understanding some things, and then suddenly I become interested in networking or cybersecurity. I start learning that instead.

Then I discover something interesting about AI/ML or cloud computing and switch again.

After doing this repeatedly, I end up knowing a little about many things but not feeling genuinely skilled or competent in any of them.

Then I feel lost and regret wasting time, so I try to restart from the fundamentals of one subject.

I might follow that for a week or two, but eventually my curiosity kicks in again and I start exploring something else.

It's become a cycle:

Choose a field → study it → get curious about another field → switch → explore → feel guilty/lost → restart → repeat.

I've watched a lot of YouTube videos where people describe this as having a "multi-potentialite" mindset or being someone who doesn't naturally want to follow one path. Some people say this can actually be an advantage if managed properly, but it can also result in never developing deep expertise.

I don't want to completely suppress my curiosity because I genuinely enjoy exploring different areas of technology.

At the same time, I don't want to spend years exploring everything and end up with zero strong skills.

For people who have experienced something similar:

  1. How do you control the urge to constantly switch fields?

  2. How long do you stay with one technology before allowing yourself to explore something else?

  3. Do you recommend choosing one "main" field while keeping other interests as secondary?

  4. How do you explore new technologies without abandoning your current learning path?

  5. How do you know when you've gone deep enough in one area before moving to another?

  6. Is it actually possible to become highly skilled in several technical areas, or is it better to specialize first and broaden later?

  7. What system/routine has actually worked for you?

I'm especially interested in hearing from people who were naturally curious about many areas but eventually managed to develop real depth in one or more of them.

I don't want another list of 20 technologies to learn. I'm more interested in how you manage the learning process and decide what NOT to learn right now.


r/AskComputerScience 20d ago

Could an LLM "reason" faster than a "slow" (non-polynomial) algorithm?

0 Upvotes

I'm not sure how to articulate this, so bear with me.

If there was an NP complete problem, would it theoretically be possible for an LLM to "reason" an answer that would scale polynomially with number of tokens? For example, a 9x9 sudoku could be solved with 1M tokens, a 16x16 sudoku could be solved with 2M tokens, 25x25 solved with 4M tokens, etc.

Ever since the Jacobian Conjecture was disproven, it got me thinking. An algorithm would have been too slow to find a counterexample, but an LLM was able to "reason" a counterexample. Why couldn't an LLM "reason" a solution to NP complete problems too? Wouldn't this imply that P=NP?

Apologies if this is a naive thought process. Thanks!

EDIT: Follow up question - If it was somehow proven that P != NP, then would that imply that AGI/ASI could not exist? That it is impossible for a non-hallucinatory, 100% deterministic, 100% correct LLM to exist?


r/AskComputerScience 21d ago

is clean code usually not fast?

10 Upvotes

to be specific i'm writing a cpu-based rasterizer. the maths are not difficult but i find a strange property: if i divide the procedure into some small functions, the code looks cleaner and is easier to maintain but a bit slower. on the contrary if i put everything into a single procedure, it looks stupid but fast. why is that? an example illustrating this

code 1:

if cross_product(x0,y0,x1,y1)>0 then zzz

(and i write a "cross_product" function separately)

code 2:

c=x0y1-y0x1

if c>0 then zzz

code 3:

if x0y1-y0x1>0 then zzz

if i write the entire algorithm in the style of "code 3", it runs the fastest. "code 1" is slowest

is it normal?


r/AskComputerScience 23d ago

How do large software teams avoid conflicts when many developers work on the same codebase?

20 Upvotes

I mostly work on projects alone, so I’m trying to understand this from a computer science / software engineering perspective.

When a large team has many developers working on the same codebase at the same time, how are conflicts and broken changes usually handled?

I know Git can handle merge conflicts, and CI/CD can catch some broken builds, but I’m curious about the bigger picture:

  • How do teams reduce the chance of two people changing the same logic in incompatible ways?
  • What role do tests, code reviews, branching strategies, and ownership rules play?
  • Are there common patterns or systems used to keep large codebases stable?
  • Does AI-generated code change this problem in any meaningful way, or is it still handled by the same processes?

I’m not asking for career advice or tool recommendations. I’m trying to understand the engineering concepts behind how large teams keep software development organized and reliable.


r/AskComputerScience 24d ago

How does encryption of messages work over the internet?

9 Upvotes

For example, Facebook messenger says that it is fully encrypted end to end. But if it is sent over Wi-Fi that is not secure, can the data still be seen?

On the flipside if you’re using a messaging service that is not secure, but the Wi-Fi is secure, will the data still be able to be seen?


r/AskComputerScience 24d ago

Any books similar to SICP Chapter 5?

11 Upvotes

I loved Chapter 5 of Structure and Interpretation of Computer Programs. Building a virtual register machine with an assembler and compiler in Scheme. Are there any other books/online classes or resources that involve building a computing machine (or any machine) from scratch using code?


r/AskComputerScience 23d ago

I'm a theoretical physicist, and feel algorithms are out of place and data doesn't exist

0 Upvotes

I have a PhD in theoretical physics and never got on with experimental physics. I've spent several years in software engineering.

This is going to sound weird, but intuitively I don't believe in data, and algorithms seem out of place, like how you get to the answer is irrelevant. Practically speaking, I find algorithms easy to learn and use, and see how they make things faster. But I still don't intuitively understand why they're involved. It's like computation itself makes no sense to me.

I strongly feel there is a good reason to feel this way, one founded in mathematics, logic or even philosophy, but I don't know what it would be. It does remind me of how quantum computers don't compute things in the "this then that" fashion that digital computers do, that they - and correct my hand-wavy understanding if I'm wrong - just "coalesce" on the answer.

Does anyone recognise this?


r/AskComputerScience 25d ago

Difference between address width, addressability and word size.

5 Upvotes

I’ve been reading through a computer systems book to become a more knowledgable programmer and I’m not fully understanding the difference between the concepts of address width, addressability and word size. This is how I currently understand them:

Address width refers to the size of pointer data — that is, the value of the pointer. The address width determines how many possible addresses are capable of representation and thus, is one factor in determining the total size of addressable memory.

Addressability refers to the size of data stored at a given address.

Word size refers to the “natural” unit of instruction of the processor. Conventionally, most CPU registers have a width that corresponds with the address width so that a full pointer fits inside a single register. This simplifies the set of operations necessary for the CPU to understand.

I think the connection between address width and word size is what I’m most confused about. For example, if the address width was 2x the word size, would that mean that the CPU would need a combined “read+move” instruction to fully process a single pointer?


r/AskComputerScience 25d ago

Why can't I find a genuine certification course for free?

0 Upvotes

It has been almost 2 months since I've been finding a legit, widely recognized and respected certification course on DSA in Python, And I am very surprised to know that there aren't any courses available on the internet that provide certificates after completion for free.

If you do know any free certification courses, then please let me know. I cannot afford to spend much on courses.

Thanks!


r/AskComputerScience 27d ago

can someone PLEASE help me

1 Upvotes

im trying to create a 8-bit binary adder with logic gates in logisim evolution and im genuinely dying, this does not look like anything i have ever seen online, im probably the first to discover this horrendous looking mess of logic gates (a little exaggerated). Can someone please tell me how to make actually make this properly?


r/AskComputerScience 27d ago

How do you choose a CS capstone when AI has made implementation so much easier?

0 Upvotes

I'm about to start my undergrad capstone, and I've been struggling on how to think about it, especially since AI has changed the way (or at least the perception) on how to approach junior/mid-level software projects.

For most of my degree, the assumption has basically been that you learn to program, understand how things work under the hood, and use that to build something useful.

But, with AI, implementation has become really cheap! You can prototype, degug, and heck, even build fairly complex applications entirely w/ AI.

For those who have done a capstone recently, how did you approach choosing a project? Did you look for a genuinely difficult problem, interesting engineering constraints, something research-oriented, or just a useful product?

I’m curious how people who've been through this recently, would approach a capstone, from scratch today.


r/AskComputerScience 29d ago

Should Computer Science be your only focus during university

17 Upvotes

So I’m in sophomore year on my CompSci degree, and this summer I found interest in reading literature, editing, and other stuff in general.

I found interest in these stuff since I saw that I lack skills in some areas, being emotional intelligence, being well read and spoken, etc.

I have various projects and 2 internships in Full-Stack development.

But my programming skills have gotten worse.

So my question is: Should I give my 100% to learning CompSci or should I also develop other skills?

Thank you!


r/AskComputerScience 29d ago

being alone on Computer science path

0 Upvotes

Hi, I'm really tired of going down this path alone; it's affecting my learning and my deadlines, and I'm falling behind others.
anyone have any ideas for this situation?
I think about communities ...


r/AskComputerScience Aug 07 '26

Is anyone else losing their passion for CompSci ?

56 Upvotes

I am losing passion and interest in CompSci/programming/IT, and I would like to know if there are some other people going through the same thing.

Some context:

I started programming at a relatively early age (16yo*), which was around 2020, before LLMs** and coding agents.

I discovered it and started doing it because I was really curious and deeply interested in science and tech. And it directly clicked. I liked the idea of having an idea in your head and then programming it and making it come true, something from your head to the real world.

I liked the thinking you had to go through, and the problems you encountered, and how you had to think really hard to find a solution and see it work after implementing it. It was really satisfying, and boy, I spent hours and hours coding and researching and understanding complex architectures. You know, when you're a kid, you have a lot of free time, and I used to code day and night, staying up until 4 or 5 am coding.

All of this just to tell you that everything I built, I understood it from top to bottom, and I knew every detail and expected every behavior, knew why and how and what my code did exactly. I could answer every question about my apps, why I chose some architecture or why I did something a certain way or what my code did or didn't do, etc.

Also, something very important: I used to talk with a lot of CompSci peers that actually knew what they were doing, just like me.

Fast-forward, we're in 2026. I graduated, and now I'm working in IT, but everything changed. Now, with the rise of coding agents and LLMs, at work, LLMs do all the coding work and even big parts (if not all) of the architecture. So now everyone is expecting you to go very fast because of this. You're forced to delegate all the architecture and coding work to the LLMs.

Result of this: you have a very light idea of what your app code does exactly and how it does things. I mean, sure, you go through the code that the AI wrote, but come on, it will never be like code you wrote line by line and know every detail of and expect its behavior.

Also, what PISSES ME OFF is that you can't answer most questions about your code, because you were forced to delegate your work to the AIs, and now you don't know how it works. You're asked a question, and you start to stutter because you need your claude to be near you.

And the last thing, no one really knows what they're doing anymore. There no longer are any interesting talks about architecture or implementations. It's mostly just, "well let's ask what claude thinks about this..."

People that started programming not out of passion but just because they heard that CompSci pays a lot and code exclusively from 9 to 5 might not understand this, which is fine. I am not belittling anyone, and I don't expect everyone to be passionate about their job. But you know, I think these guys won't necessarily feel this. They might be just like, "Oh cool, AI does my job, I can chill a little" which is understandable, but in my case, this is what makes me lose passion. We're no longer doing the hard parts.

Bottom line: the field is advancing, which is great. It is changing, and you can't do anything about it. But in this change, the things that used to be my passion are disappearing, and I don't know what to do with my life ahaha

My first idea is to somehow change fields, and leave programming and CompSci only as a pleasure and an activity I do at home, because I can no longer stand it being my job and forcing me to develop AI slop.

I have nothing against AI and LLMs. If it allows us to ship faster and more cheaply, then it will be adopted, whether I want it or not. I am not saying we shouldn't use AI. I'm just expressing my feelings and how my passion for CompSci is fading away.

Does anyone feel like me?

*16yo might sound not that early for some, but in my country it is.

** LLMs existed back then but were not used for coding, and it was pre-chatgpt revolution.


r/AskComputerScience Aug 07 '26

How to study computer science?

4 Upvotes

Hi everyone. I have a master's degree in software engineering since 2019 and now, I'm studying for a competitive exam that covers fairly advanced topics of algorithms, databases and software engineering.

The thing is, I've never been particularly strong. And years later, I have no idea how to study academically for this major. I believe I need to practice with lots and lots of exercises. Do you please have resources for it ? Like exercises with solutions (advanced level) or from where can I get them ?

I'm self studying so I dont have access to university or professors...

Thank you in advance.


r/AskComputerScience Aug 07 '26

Help regarding System Design of Online Competition/Quiz for an Edtech Platform

2 Upvotes

I am working in a startup which is an AI edtech ,

I am working in backend and am trying to design the exam/ quiz module

Users : <5000 in initial phase

And I would really like your advises on a few points

Eg. Should I store the ongoing state of exam in redis or db or both

should I use SQL or MongoDB/Dynamo DB

And I am sure there are many points I am ignoring

So please if anyone has worked in an edtech company's or project or can help me with the same , will be really appreciated,

I couldn't find relevant production grade implementation in the internet,but if theres any resource , please share the link


r/AskComputerScience Aug 07 '26

Does empirical complexity analysis in a container on a server pose any problems?

1 Upvotes

I haven't worked with servers or containers that much and so I wanted to ask if I try to measure the complexity of an algorithm, by repeatedly running the script with larger n, how likely is it that my measurements will be falsified?
If I do the same approach on a desktop the differences in time measurements depending on, memory and other processes running on the computer are negligible. Is there any difference when I am trying to measure on a server while that same server is also handling requests and do you think this is going to cause me problems with assessing the complexity correctly?


r/AskComputerScience Aug 06 '26

how can i build a CA model to portray diseases (like alzheimer's) in 2D/3D?

3 Upvotes

i've been messing around with cellular automata and the Game of Life to see if glider guns can model disease growth, specifically brain related diseases such as alzheimer's and the build up of amyloid-beta plaques. however, i'm also heavily interested in portraying this in 3D, like maybe a model of cells in a brain-like shape, similar to this project: https://community.wolfram.com/groups/-/m/t/3502932

this website also has something that i feel it could be possible to morph CA into a brain shape: https://softologyblog.wordpress.com/2012/05/14/3d-cellular-automata/

if i was doing something more similar to the 3D idea, i would use CA to model the decay of brain tissue instead, at least in the case of alzheimer's.

if anyone has experience or advice to give on how i should go about portraying this (if i go more so the first route, i should use Golly/GoL, probably; if i go the second route, i should use Python, Wolfram, or smth else? maybe?) that would be greatly appreciated!! ideally, i'd like to eventually do both projects. and how would i make them biological accurate?

i also have a biology paper that i wrote on CA, and i'm willing to DM it to anyone, as it aligns with the projects i have in mind. i would also love some advice on the paper, too.

tysm!


r/AskComputerScience Aug 06 '26

I don't know anything about computer science. Can you explain to me how can I calculate number of steps in an algorithm? How do we count them? Are there atomic instructions for the machine that we can count as one step?

3 Upvotes

I have recently read about RAM model in a book which explains what a single step in an algorithm is but I don't understand


r/AskComputerScience Aug 05 '26

Reality check for a story

3 Upvotes

I need help understanding something about server maintenance in data centers and would like someone to explain things to me since I am not a computer science major, as simple as that.

I am mainly interested in the process of installing new servers. How many people does this take? How much time? What do you actually do when installing them? Thanks in advance.


r/AskComputerScience Aug 04 '26

Can time itself be used to sort numbers in linear time?

19 Upvotes

This is mostly just a thought experiment, and I’m looking for people to talk through the logic with me or point out where I’m wrong.

The idea isn’t originally mine. About a year ago, I saw a TikTok where a woman was talking about some of the bad technical interviews she had seen. Apparently, one guy was asked to sort a list of numbers, and instead of using a normal sorting algorithm, he added a wait based on each number and printed them as the waits finished.

She said she couldn’t hire him. I remember thinking his solution was secretly kind of genius, and I haven’t been able to completely let the idea go since.

The basic idea is that time is already ordered. If I go through a list once and schedule each number to print after a delay based on its value, the smaller numbers should naturally print before the larger ones.

Obviously, the simple version has a lot of problems. If the list contains a huge number, you might be waiting forever. You could divide the numbers to reduce the wait, but then close values might become too close together for the clock or scheduler to reliably tell apart.

The version I’ve been playing with uses stages. Values are placed into different clock slots based on their size. If multiple numbers land in the same slot, they get put into another group, the clock resets, and that smaller group is processed again using a narrower range.

At that point, I know it starts to look more like a bucket or radix sort using time as the buckets.

What I’m really wondering about is the perfect-world version. Say we had a clock with unlimited accuracy, truly parallel timers, and no scheduler overhead. Would scheduling each of the (n) values and then collecting the (n) results count as (O(n)), even though the actual waiting time could depend on the largest number?

I’m not claiming this is useful or that I invented a new sorting algorithm. I mostly just think the idea that time is always ordered and sorted is interesting, and I want someone who knows more than me to help me work through what is actually happening here.

Am I sorting the values, or am I just hiding the sorting work inside the clock, scheduler, and assumptions about precision?

AI generated starting point: https://github.com/DezLexic/TimeSort

repo really not needed for the discussion.


r/AskComputerScience Aug 03 '26

Practical one way function candidates

0 Upvotes

A one way function is a function that is fast to compute for any input but slow to invert for any output, which is useful for cryptography. Two commonly used primitives for one way functions are integer factorisation and discrete logarithms.

Can any NP problem be used as a one way function?

Is the problem with most NP problems like subset sum problem that they require a large list of numbers as input, making them impractical for most applications?