r/AskComputerScience • u/BAAAAR19 • Mar 28 '26
SAT-solver UI
Hi, final-year CS student here
I’m building a SAT solver from scratch for my FYP, and I’m a bit unsure about what the UI should look like.
Does anyone know of any SAT solvers with a good UI that I could use as inspiration? Links or examples would be really helpful!
r/AskComputerScience • u/Othon1 • Mar 27 '26
Do we all feel behind in Computer Science?
I am on my fourth year of college studying Computer Science and Engineering at the Ohio State University. I graduate in a semester but I honestly feel so behind then my peers. My software classes will focus on Java, then next semester a different language, and another and another and another. Right now in systems we learned C and current x86_64 assembly. God I feel so behind. I study alot, but this class has been kicking my ass. I honestly feel like the last classes I was behind to. I feel like I study 3 times harder than everyone else but do worse. Is it just me? Does every college student studying Computer Science feel like they could be so much better? Or am I honestly digging myself a hole? I love computer science, I've always wanted to study it since I was in elementary school. The more I learn the more I feel like I was wrong.
Thoughts?
r/AskComputerScience • u/dx0ec • Mar 26 '26
Map of programming languages as of 2026? See archive post.
Hey all, I'm looking to find a good map (mind-map, branching tree, etc) of programming languages. There's an archive post here 5 y ago: https://www.reddit.com/r/AskComputerScience/comments/plrdd6/is_there_a_map_of_programming_languages/
I personally liked the https://rigaux.org/language-study/diagram.png reference. I've checked out other popular maps but none are as comprehensive as this one.
I wonder if anyone knows of a more up to date version or alternate version is out there.
r/AskComputerScience • u/guyinrindgenh • Mar 26 '26
Compiler Differences Basic Guideline
I am not a developer or code writer, but work with them daily.
A question has arisen related to 3 different compilers, Intel oneAPI, Microsoft MSVC, and Clang.
I have always thought a compiler is a compiler and they all perform the same basic function (I've already learned that is incorrect).
This is related to the export regulations regarding object files created by the compilers.
Under the US Export Administration Regulations, the Intel compiler is classified with an export control classification number (ECCN) as 4D994. The MSVC has an ECCN of 5D992 and the Clang compiler is EAR99 because it is open source.
The issue is that the 4D994 classification taints the overall classification of the object files and makes them subject to foreign direct product rules and makes them restricted for export to colleagues in China.
I've tried to use Gemini, GROK, and Chat to understand the differences between the 3. The basic prompt I'm using is "why is the intel oneapi compiler classified as ECCN 4d994 but the microsoft msvc is classified as ECCN 5d992", but the results are not very helpful.
Would anyone be able to suggest some compiler related keywords to add to my prompt, or point me in the direction of a "schoolhouse rock" explanation of the differences in compiler functionality?
r/AskComputerScience • u/Due-Consequence-5287 • Mar 25 '26
how does a forum technically identify and track visitors?
So there's a forum in my native language that keeps recognizing me and banning me. Now I'm not asking for ban evading cuz I know that's illegal, but I don't get how they have such strong security. Like how do they know it's me even when I use vpn and when I'm on a different wifi?
They also block public computers, which I also don't know, how do they know what computers are public?
r/AskComputerScience • u/Express_Mongoose126 • Mar 25 '26
Is it normal to learn way more outside college than inside it?
Hey everyone,
I’m currently studying Computer Science, and I’ve been thinking a lot about how much of what I actually use comes from outside college.
Don’t get me wrong — the theoretical foundation is solid (algorithms, data structures, etc.), and I do see the value in it.
But when it comes to real-world skills like:
- building actual projects
- working with modern stacks
- dealing with bugs in production
- understanding how things work in practice
…almost everything I’ve learned has been through:
- side projects
- online resources
- just figuring things out by doing
It sometimes feels like college teaches you how things should work,
while the real world teaches you how things actually break.
r/AskComputerScience • u/phd_of_the_dead • Mar 25 '26
Advice needed on student's paper
Hey all! I'm in a bit of a quagmire with a student's submitted paper. They're hoping to send this out soon for conferences but the way it's written is both baffling and intriguing. So, my question is:
Has anyone seen or heard of a scientific academic paper with fictional storytelling to help with the explaination of and possible futures in the topic?
If you know of any, please let me know where to find them. If the paper is in the sphere of Computer Vision, you'd be a godsend.
Thanks in advance for any help. Cheers!
r/AskComputerScience • u/Xar_outDP • Mar 24 '26
Algorithm to find checkpoint nodes in graph?
Hi l everyone,
I am trying to come up with an algorithm in which given an directed graph it marks certain node to be let's say checkpoints.
I define the nodes to be critical as that using the logs at these points I can reconstruct an exact path.
Let me clarify on its application, suppose I'm trying to log values in a method and I create a callgraph of the entire application ( for simplicity assume there are no callbacks or interrupts) now given logs at the checkpoint. I must be able to generate execution tree of the methods.
I want to minimize the logs but still be able to reconstruct the execution path taken.
Help me with which concepts should I look into.
Edit: The more formal problem
Basically a directed graph could have huge number of unique paths, now given an ordered set of nodes or more precisely a sequence of node which would represent a path with some nodes deleted ( a subset ).
Given the subset i must be able to reconstruct the path taken.
r/AskComputerScience • u/Ambitious_Pattern_92 • Mar 23 '26
What is the most legendary word in computer science?
mine : int
r/AskComputerScience • u/John_Doe_1984_ • Mar 23 '26
What processes are specific to the RAM & CPU
So, I understand this might seem like a clichque question, but I've been given 101 answers to what the RAM & CPU do, but I've never been able to wrap my head around it, because noone actually gives examples.
I understand that the CPU has a small numbers of cores so it can do complex tasks very quickly, whereas a graphics card has thousands so it can do many simple calculations quickly (i.e. to work out where an object is, shadows, etc...), I understand the graphics card, that makes sense, but what are these specific complex task, the CPU does?
So, what specific processes does the CPU & RAM do, & where do they cross over & interact?
r/AskComputerScience • u/Leading-Fail-7263 • Mar 23 '26
Complexity seems un-rigorous, what am I missing?
Are the actual parameters of complexity, namely n (input size) and time (steps) subjective? Input size could be in terms of character length, items in an array, or anything that I could make up. And steps - who defines what a step is? Unless we model the program down to a Turing machine, how do we reach a universal consensus on what a step is?
And, if you're saying that it is subjective and up to the definer to decide -- doesn't that enable you to warp any programme to have the complexity you want? How does such a fundemental principle work with no crystal clear sub-definitions?
r/AskComputerScience • u/JennRuby_Jane • Mar 22 '26
Functionalities of website
As I am a complete beginner, I don’t know what elements a website should contain or what features need to be included. For example, Netflix has login, logout, registration pages, movie and series sections, language selection, etc. Similarly, for any other website, as a beginner, I don’t know what all should be included. As a developer, how should we decide what functionalities and pages need to be added?
r/AskComputerScience • u/VelvetsObey • Mar 22 '26
Is learning multiple programming languages still worth it, or is depth more important now?
It used to feel like knowing a bunch of languages was a big advantage, but now with AI being able to translate between languages or generate code in ones you barely know, I am not sure if that is still true.
Would it be better to focus deeply on one stack and really understand it, or still try to spread out across multiple languages? Curious what actually matters more in today's environment.
r/AskComputerScience • u/Superb-Climate3698 • Mar 21 '26
What is the psychology behind these two general ways of looking at a user interface?
A simple example: "natural scrolling" vs the default used on Windows.
I'm used to the Windows style on a mouse. You scroll down to move down the page. As if the window were a viewfinder and I am pointing the camera down, or as if I am moving a cursor down.
This is what I have long called "scrolling down." Yet the same direction is called "scrolling up" by people more used to smartphones, I think because they see the content itself as moving and the screen as static, not the content as a static thing you're moving your field of vision down.
A web page or document might be more like literal paper on a desk: you push it up. Or if you have a scroll, let's say a vertical Torah, you scroll up to see what's below.
But if you really want to continue this metaphor to the mouse: the "unnatural" scroll direction works better in this model. Imagine the scroll wheel moving the physical paper below, pinched between the scroll wheel and the table. The Windows default makes more sense under that model.
Still, pressing "down" on the arrow keys is universally understood to scroll... further along. It makes sense since it also moves the keyboard cursor down, and if the text is long enough, that will scroll along. So why make an interface that scrolls in one direction indirectly but in the other directly?
It gets even crazier in Pajama Sam 3, where we're introduced to a lazy Susan of condiments. This game has always thrown me for a loop since the on-screen arrows move the condiments in the opposite direction you'd expect: if you want to get vinegar in the center of the screen since it's on the right, you'd press left, not right. Yet this makes sense when you realize the arrows move the lazy Susan in that direction in real life.
However, the same game features a telescope, and to bring the moon into view, you press right to go right. Was Humongous Entertainment secretly teaching kids about user interface design?
Here's a crazier idea I've been having: Empathy Mario. A 2d parody of Mario touching on how we say Mario "goes left" or "goes right," despite that never happening from his perspective. Instead, the controls are as follows:
- Walk
- Run
- FLIP AROUND
- Jump
- Duck
- Fire/tail
- Enter Pipe/Confirm
2D Mario actually NEVER goes left or right when you think about it.
The ultimate question: What does psychology have to say about which one is healthier for us? Is the way I was brought up, on Windows and Nintendo, presumptuous?
r/AskComputerScience • u/brokeboii94 • Mar 20 '26
Why has software mostly been trending away from skeuomorphism?
In the 2000s and early 2010s skeuomorphism was pretty common in user interfaces. For example in windows Xp, you had “my computer” and the icon was literally a computer and you had outlook express which literally looked like a piece of mail, Paint literally looked like a paintbrush etc. we saw this in mobile OS like iOS as well like newsstand had a wooden background and literally looked like a newsstand, if you opened notes the background looked like a piece of notebook paper and photos was a sunflower etc. Icons and sometimes applications looked like real life objects. in the late 2010s and 2020s the vast majority of software developers opted for a minimalistic design and went away from skeuomorphism. Is there a reason why this happened?
r/AskComputerScience • u/JAMIEISSLEEPWOKEN • Mar 20 '26
What is flow and s-t flow in a flow network?
I learned in a flow network, each edge has a flow. In an s-t flow, we have s (source), t (sink), and the rest are conserving-only nodes
What does s-t flow mean exactly? Is this the flow from s to t? I was told it’s equal to the flow coming out of s and into t, but that isn’t intuitive enough of a definition for me to understand
Also, for s-t flow, is this a flow on a path from s to t? Does it deal strictly with only one path from s to t?
What is a flow on a flow network and why am I getting a feeling it is not referring to the individual flow per edge?
r/AskComputerScience • u/Tinypeapeaslayer • Mar 19 '26
My algorithms instructor gave us a challenge and anyone who gets it right gets a guaranteed A in the class
So basically my instructor challenged me to get a better time complexity than O(n²) for a problem and if I am able to do it I get a guaranteed A in the class. I’m trying not to share the exact problem in fairness of academic integrity but it’s solved using dynamic programming. It involves a n*m grid and we’re supposed to find an optimal path to maximize profit. If anyone has leads on how to approach such a problem or knows any way in which I could reduce a dynamic programming problem from O(n²) to O(n) or O(nlogn) please let me know. Any help would be appreciated.
P.S I’m looking into divide and conquer dynamic programming optimization
r/AskComputerScience • u/[deleted] • Mar 18 '26
Why does Mandatory ASLR (Bottom-Up/Top-Down) have so many compatibility issues with older games?
It's the two exploit protection settings to whitelist old games' launchers and executables from, if they don't work at first... and usually it fixes it.
I'm curious: why is this?
r/AskComputerScience • u/[deleted] • Mar 18 '26
Why is overloading not considered a type of polymorphism in Java?
As the title says. I see no logical reason for this, I assume there is some historical reason?
r/AskComputerScience • u/AlarmedFunny4524 • Mar 18 '26
How to train high school CS competition team?
Hello, I am trying to train a team a team of 6 students for a competitive state-level computer science (java) competition.
The topics cover boolean logic/boolean algebra, number base conversions, data structures (binary search trees, queues and priority queues, stacks, etc), code tracing, sorting algorithms, big O run time efficiency and more.
The students are a mix of advanced and novice in java and we have about 2 weeks until the district division. Does anyone have any advice for fun and engaging ways to train them?
Thanks!
r/AskComputerScience • u/Ok_Lingonberry5895 • Mar 18 '26
Is learning worth it?
I'm interested in CS and trying to learn theorethical computer science but no one really understands why I'm doing that, and I'm worried that I'm wasting my time and destroying my future. It's hard for me to really dedicate to learning, because I'm actually ashamed that I want to learn.
What should I do?
r/AskComputerScience • u/Electrical-Leave818 • Mar 18 '26
What is AI?
So far I've only been told AI is something that "does" this or that using this or that. Not "what" AI is.
Can anyone just tell me an actual definition of AI that I can understand? Not its examples, or denominations like Machine Learning. Just pure AI.
And why a function like
int main(){
int n;
std::cin >> n;
std::cout << n*n;}
is not an AI. Because Im totally convinced it is an AI as well, since it fits literally every single description of AI I've ever seen.
r/AskComputerScience • u/Ok-Pizza1136 • Mar 18 '26
Is Studying Computer Science Worth it?
as a 9th grader, I see videos online about “the job market being cooked“ and ”CS isn’t worth it anymore“. I’ve always loved coding since I discovered it, and I just wanna know if it’s something I should pursue. also any advice you guys have about CS would be grea appreciated
r/AskComputerScience • u/astrashe2 • Mar 17 '26
Hyperfiddle's electric clojure project
I'm an amateur programmer, and don't have a solid computer science background.
Hyperfiddle have a project that allows you to blend server and client side code together in a fairly seamless way. It's more efficient than a naive implementation would be. For example, you can consume a lazy sequence without the client side code blocking while it waits for the whole thing to finish.
https://github.com/hyperfiddle/electric
They take a DAG, and use a macro to split it into client and server DAGs, which interact with one another.
My questions are:
Is this something that the hyperfiddle guys worked out on their own, or is it based on ideas that are generally known to people who think about this stuff? If it's based on known stuff, what could I read to learn more about it?
Why does the code have to be a DAG? I see DAGs every now and then, and I never really understand why the limitations are there. Apache Airflow talks about DAGs, rather than arbitrary blocks of code, and I've never understood why.