Computer science or computing science (abbreviated CS or CompSci) is the scientific approach to computation and its applications.

learn more… | top users | synonyms

10
votes
8answers
1k views

Is there a subset of programs that avoid the halting problem

I was just reading another explanation of the halting problem, and it got me thinking all the problems I've seen that are given as examples involve infinite sequences. But I never use infinite ...
1
vote
2answers
145 views

Finding common prefixes for a set of strings

I am trying to find common prefixes for a sorted set of strings. i.e. if the following strings are given: AB123456 AB123457 ABCDEFGH ABCDEFGX1 ABCDEFGY XXXX then my function should return three ...
6
votes
3answers
1k views

Quantum computers and Turing Machine

As far as I know, a Turing Machine is the widely used model in computational theory to know whether something could be computed and if computed can they can be computed in finite time (P, NP, ...
-1
votes
2answers
77 views

Practical applications of pattern printing programs

We all encounter programs like printing a pattern (Such as Pascal's Triangle). As a student of Computer Science, I am curious as to what is the practical application of these type of programs, in ...
-2
votes
1answer
72 views

Comp Sci Fundamentals vs Practical knowledge [closed]

This will probably come off as a complete noob question, but lately, I've been wanting to learn more about computer science to further my own skills and knowledge and increase my competitiveness for ...
1
vote
4answers
389 views

Should all programmers know how to solve algorithms, etc [closed]

I'm 15 and have been programming for about 3-4 years. I mostly program in Java as it was my first language. I would like to be a programmer when I'm older, but I'm not sure about the differences. ...
6
votes
2answers
613 views

What is the relationship between lambda calculus and programming languages? [closed]

I am starting my first year (in college) in Computer Science next year and I write mostly in C (if that is to matter). I have tried searching but most of what I find assumes knowledge of lambda ...
2
votes
1answer
120 views

What does 'upper bound' mean in context of BigO?

My computer science teacher says Big O has an upper bound but no lower bound. When I look at a graph of an algorithm mapped out using BigO though, there isn't an upper bound at all. The upper limit ...
9
votes
1answer
519 views

What Is λ-calculus essentially?

I have what I would call a philosophical question about λ-calculus. When you explore λ-calculus you will be surprised to see all the things that you can do there. You can define integers, arithmetic ...
-1
votes
2answers
119 views

Is 'lazy' the correct term for timestamp-based skipping? [closed]

(1) The oldmakeutility looks at timestamps, and if the output is newer than the input, it skips (pointless, time-consuming) re-compilation of e.g. C files. The same is true for many languages and ...
2
votes
1answer
202 views

Implementation of chess endgame engine without Endgame Tablebases

I'm interested in creating an chess endgame solving engine. The endgames in chess are usually solved using the endgame table-bases generated by retrograde algorithm. I have found that Artificial ...
1
vote
2answers
426 views

The physical implementation of quantum annealing algorithm

From that question about differences between Quantum annealing and simulated annealing, we found (in comments to answer) that physical implementation of quantum annealing exists (D-Wave quantum ...
-1
votes
4answers
1k views

Mathematical Knowledge Required prior to entering Computer Science [closed]

I am currently a College Student in a Systems Analysis (3 year course). I am about to finish my course and would like to enroll in Computer Science at a University near me. I have a deep interest in ...
8
votes
3answers
344 views

How many copies are needed to enlarge an array?

I am reading an analysis on dynamic arrays (from the Skiena's algorithm manual). I.e. when we have an array structure and each time we are out of space we allocate a new array of double the size of ...
74
votes
11answers
7k views

How can I make sure that I'm actually learning how to program rather than simply learning the details of a language?

I often hear that a real programmer can easily learn any language within a week. Languages are just tools for getting things done, I'm told. Programming is the ultimate skill that must be learned and ...
0
votes
1answer
81 views

How are the conceptual pairs Abstract/Concrete, Generic/Specific, and Complex/Simple related to one another in software architecture?

(= 2 (+ 1 1)) take the above. The requirement of the '=' predicate is that its arguments be comparable. Any two structures are comparable in this case, and so the contract/requirement is pretty ...
0
votes
3answers
267 views

What is Atomicity?

I'm really struggling to find a concrete, easy to grasp, explanation of Atomicity. My understanding thus far is that to ensure an operation is atomic you wrap the critical code in a locker. But ...
-3
votes
1answer
140 views

The deference between Computer science and Computer information system? [closed]

I'm Asking you that question because you are an experts in programming , and maybe you could help me . Unfortunately in my country you can't get a job if you don't have a university certification, ...
1
vote
1answer
108 views

Which Computer Vision / Image Processing technique would solve light imbalance in images?

Given a colour image whose light intensity is dim at the edges and bright in the middle, such as [dim bright dim], which computer vision technique would be recommended to correct this imbalance? ...
1
vote
1answer
218 views

Can we still consider that Moore's law still holds true regarding the consequence on CPU speed? [closed]

Moore's law is an empirical law and in simple terms states that the number of transistors on integrated circuits doubles approximately every two years. One of the consequences of Moore's law is that ...
0
votes
4answers
247 views

What do you call a tree that grows in both directions? [closed]

What would be the technical term for a tree that grows in both the directions, starting from the root in the middle? The central idea being that new elements can be added to the tree (Now, I am not ...
-1
votes
1answer
95 views

Difficulty implementing algorithms from abstract understanding [closed]

I've got decent programming experience for an undergraduate. I just started the study of algorithms. I read the description and saw visual examples that make perfect sense in my head. But when it ...
45
votes
23answers
38k views

Should certain math classes be required for a Computer Science degree? [closed]

For a Computer Science (CS) degree at many colleges and universities, certain math courses are required: Calculus, Linear Algebra, and Discrete Mathematics are few examples. However, since I've ...
28
votes
11answers
12k views

What to do when coding begins to feel boring, like it is all just more of the same? [closed]

I started programming at the age of 6 on a Commodore 64. Now I'm 28, and I have to complete 4 courses from a first degree in Computer Science. I'm starting to get bored with writing code after all ...
17
votes
6answers
8k views

What methods are there to avoid a stack overflow in a recursive algorithm?

Question What are the possible ways to solve a stack overflow caused by an recursive algorithm? Example I'm trying to solve Project Euler problem 14 and decided to try it with a recursive ...
6
votes
5answers
2k views

Teaching Myself Computer Science, what should I learn? [closed]

I've already been programming for quite some time and have a firm grasp on programming itself, OOP, and a few other programming related things. However, I'm interested in learning the same things that ...
17
votes
6answers
1k views

What is an example of a computationally impossible business problem?

I have coworker who refuses to accept the reality that Turing machines (and Von Neuman machines by extension) cannot solve their own halting problem stating: You can do anything with enough time ...
0
votes
1answer
174 views

Generic name for types and values [closed]

In computer science, what is the abstract common name of types and values (I mean an abstract "something" that can be a type or a value) ? To be more specific: If we have template <typename X> ...
-2
votes
1answer
422 views

what is the difference between a software engineer and project manager? [closed]

I understand that a software engineers job is to work with all aspects of developing and supporting a software system. How does a project manager fit/work with a software engineer in a small team (5 ...
12
votes
1answer
277 views

What intermediate representations can be used to reason about concurrency?

I am trying to better understand what would be required for a compiler to be able to make intelligent choices regarding concurrency on behalf of the programmer. I realize that there are many difficult ...
6
votes
2answers
369 views

Are there alternatives to stack+heap+static memory model?

All programs I have seen organize their data memory into one or more call stacks (usually fixed size, but sometimes not), the heap, and static memory. Lately thread-local static storage has been ...
4
votes
3answers
411 views

Why do some compilers generate direct machine code?

I was taking this course - CMU 18-447, Computer Architecture at Carnegie Mellon to brush my knowledge and concepts. They say that most of the machine level details and implementations is taken care ...
2
votes
2answers
87 views

How is indirection different from aliasing?

Take from wikipedia, aliasing is defined as accessing a data location through different names. Also taken from wikipedia, indirection is defined as referencing something "using a name, reference, or ...
3
votes
4answers
1k views

Is there such a thing as truly random? [closed]

I saw a video about random numbers and how the programmer in that video was talking about computers generating pseudo random numbers and that they are not really random. I knew about this. Then he ...
2
votes
1answer
198 views

Resources for understanding a programming language and its specifications and grammar deeply [closed]

I'm a computer engineer and all the courses we have had about programming and computer languages were an introduction to C/Java and OOP. Now I feel like reading Java language specification to learn a ...
7
votes
3answers
3k views

How is the actor model used?

I have read a bit about the actor model, but don't really understand how to use actors in a real world situation – how to model a problem with them. Can someone please explain? A simple example or ...
-1
votes
3answers
2k views

Why are algorithms and data structures important? [duplicate]

It seems like a lot of university-level computer science programs and programmer job interviews focus heavily on algorithms and data structures. I'm curious as to why universities and employers put so ...
1
vote
1answer
159 views

Algorithm analysis refresher help

I haven't touched algorithm complexity stuff in quite a while, so I am trying to do a refresher. I am trying to figure out the number of steps in the following for loop. for(i = 0; i < n; ...
5
votes
11answers
4k views

Where is the application of Calculus (of continuous quantities) in Computer Science or programming

I am a Software Engineer professional. I have studied calculus as a core course in my graduation studies. I want to ask question, that what/where is the implementation of calculus in computer science? ...
15
votes
9answers
1k views

Is learning C essential for Computer Science? [closed]

I am a front-end developer who barely even see a file with .h or .c extension. I know basic C syntax, I've learned it in Unreality but never was interested in such low level programming because it ...
1
vote
1answer
123 views

Converting a DFA to an NFA

I have an assignment to convert various language descriptions into NFAs and DFAs. Having graduated with my CompSci B.S. years ago and not touching the topic until my M.S. program, I am racking my ...
11
votes
12answers
24k views

What's the difference between computer science and programming?

I'm new at computer science and programming, and I was wondering, is there a difference between computer science and programming? and do you get to choose to study only one of them at the university, ...
28
votes
4answers
40k views

How do I completely-self-study Computer Science? [closed]

Being a completely self taught programmer, I would like it if I could better myself by self-learning the computer science course taught to a typical CS grad. Finding different resources on internet ...
2
votes
4answers
294 views

Generic term for “objects” vs “fundamental types”?

What are the exact terms to call data types with a logic structure (like C structures, C++ or Java objects) versus fundamental data types (like numeric types, characters, booleans...) independently of ...
-5
votes
2answers
115 views

Calculate transfer time while accounting for loss of conductivity and speed over circuits [closed]

So based on my limited understand of how computers work I derived the following question. As you transfer things over circuits the circuits heat up. As they heat up they lose conductivity and ...
0
votes
2answers
97 views

By the definition of a Tree(ADT), is it “wrong” for a node to add a sibling?

The title pretty much says it all. I'm just having a little computer science exercise and am building a Tree. I want a node to be able to add a sibling which requires one to first get a reference to ...
19
votes
4answers
4k views

How can a self-taught programmer learn more about Computer Science? [closed]

I'm a self taught iOS (iPhone/iPad) programmer but didn't study CS in school. Are there any books or site I can study that will teach more about CS, in general. For example some common practices and ...
18
votes
2answers
961 views

What class of problem is this, and what math do I need to know to solve it?

Mushroom cultivation requires fairly precise chemical composition of substrate (a.k.a. growing medium). Let's pretend we're growing shitakes and that this is the required composition of their ...
0
votes
1answer
145 views

Formal definition of “concepts / type system” for parametric types - Where to start?

I would be interested in formally defining (and consequently demonstrating) a "type system" for, well, a type system. More specifically, I would like to explore the idea of what C++ calls concepts for ...
8
votes
2answers
1k views

Could we build a functional computer?

As mush as FP has done, in the end, all our programs are structured. That is, it doesn't matter how pure or functional we make a them - they are always translated to assembly, so what actually runs ...