Skip to main content
10 votes
Accepted

Is computer science pointless

Your question takes a very narrow and untrue view of what computer science is. Computer science doesn't "assume a static problem" -- there is an entire subfield studying Online Algorithms, ...
9 votes
Accepted

What's role of software verification in modern software engineering

This is actually a surprisingly complex topic. Who verifies the verifiers? Have you heard of Ada/SPARK? Ada is a programming language which is mostly used in embedded contexts, including in military ...
Matthieu M.'s user avatar
6 votes
Accepted

Design patterns for simple text based scripting language?

The last time somebody asked this question, I replied: why not just use an existing language? What you have right now is an API. You can provide a library in which your commands are function calls, ...
reinierpost's user avatar
  • 5,584
5 votes
Accepted

What is the closest theory to "The theory of code refactoring"?

Basic code refactoring is not about symmetries but rather about equivalences. When code $C$ is transformed by refactoring to become code $C'$, we expect $C$ and $C'$ to "do the same thing". (...
Andrej Bauer's user avatar
  • 30.4k
4 votes
Accepted

Suitability of high-level languages for embedded systems

What is a high level language? What is an embedded system? Once upon a time C was a high level language and a Raspberry Pi would have changed the outcome of major wars, now almost every ...
adrianN's user avatar
  • 5,951
4 votes

Where in the toolchain does formal specification come in?

Tests can be written based on either a formal spec or an informal spec. Verification always requires a formal specification. Formal verification might be manual or automated, or some combination of ...
D.W.'s user avatar
  • 160k
4 votes

what are all the domains of computer sciences?

You'll be able to better understand all the branches and subfields of Computer Science if you take a look at the ACM Computing Classification System. This system is normally used by scientists to ...
HEKTO's user avatar
  • 3,088
4 votes

Applications of ω-automaton in engineering

Sure. They are used in model checking. Specifically, if we want to check liveness properties of systems, then typically we use $\omega$-automata (e.g., Büchi automata) to formalize the property we ...
D.W.'s user avatar
  • 160k
4 votes

What's role of software verification in modern software engineering

To be honest this feels like it's a question of just practicality and feasibility. The reality is that all of our systems are just so complex these days, that it's almost impossible to just verify ...
Minko_Minkov's user avatar
3 votes
Accepted

Which "entity" is working at more deeper level than Characters of a program?

There are many pieces of software involved in rendering an "A" when you type it in to a program like a text editor. First, the key press is handled by the hardware of the keyboard, which sends a ...
Blckknght's user avatar
  • 386
3 votes
Accepted

How many telescoping constructors will I have?

You'll need $2^n$ constructors. You need one constructor for each possible subset of optional parameters. There are $2^n$ such subsets. You have $n$ things, and there are $2^n$ possible ways to ...
D.W.'s user avatar
  • 160k
3 votes

Why do errors occur in programming?

Errors occur in programming because programs are written by humans and humans make errors.
Jörg W Mittag's user avatar
3 votes

What we lack to do automatic programming?

We already have the formalization of norms I don't think we do. Norms are written in natural languages (e.g. English). And truly understanding text written in a natural language (even a subset of it, ...
svick's user avatar
  • 1,866
3 votes

Regretting Computer Science?

There are 2 parts of building "stuff". The physical components of the system and the behaviour of the system. To build the physical components of the system you need to learn about the physics and ...
Ankur's user avatar
  • 628
3 votes

what are all the domains of computer sciences?

Broadly speaking, computer science can be divided into Theoretical Computer Science, Artificial Intelligence, and Computer Systems. Each of these categories has many subcategories, and each ...
Caleb Stanford's user avatar
2 votes
Accepted

Side effect and recursion

Recursion is orthogonal to side effects. You can have a recursive function with side effects, or without. You can also have a non-recursive function with side effects, or without. It's a matter of ...
D.W.'s user avatar
  • 160k
2 votes

What is the theory behind testing fixes for intermittent bugs?

You juggle with "probabilities" without defining any. There are two different questions here. For practical programs, can I use random testing to establish that any given execution has close to 100%...
Raphael's user avatar
  • 72.4k
2 votes

Names of power-of-two bit operations on bitsets that would not assume any number interpretation

You can think of a bitvector as a set, by giving names to the various bits. For example, if we name the bits in an 8-bit integer using the numbers $0,\ldots,7$ (where $0$ is the LSB and $7$ is the MSB)...
Yuval Filmus's user avatar
2 votes
Accepted

How to Get Started in Computer Science

Theoretical computer science means different things to different people. However, here are some areas which are commonly taught in undergraduate theoretical computer science classes: Combinatorics ...
Yuval Filmus's user avatar
2 votes

Revolutions in Computer Science

Computer science is, at its core, the study of algorithms. What can we compute, and how fast can we compute it? Its sub-fields, such as image processing, AI, Operating Systems, Programming Languages, ...
Joey Eremondi's user avatar
2 votes
Accepted

How a Data Compression Software Reads a File as pure Binary File and makes Output?

A file is a byte stream Although OSes provide some bells and whistles (such as metadata, or forks), most define a file as a sequence of 0 or more bytes. Each byte in the file is a numerical value ...
Artelius's user avatar
  • 666
2 votes

Is computer science pointless

Even though computer science can be understood as a science of problem solving, as a science, it is above all interested in framing (answerable) questions. Questions about problem solving methods, ...
André Souza Lemos's user avatar
2 votes
Accepted

Subclass specification

CharSet is not a subtype of Set<E>, but it is a subtype of Set<Character>. If ...
D.W.'s user avatar
  • 160k
2 votes

Practice of setting parallelism as the default behaviour

Have fun. If you use multiple threads you need to make sure that the overhead doesn’t outweigh the savings. The number of processors to use depends on the number of available processors, their ...
gnasher729's user avatar
  • 30.1k
2 votes
Accepted

What are the minimum functions, services, or features of a software to be called as an operating system?

That depends on your definition of "operating system". Some authors define that as the kernel (i.e., Linux, providing process control, a filesystem and simple/controlled access to devices), ...
vonbrand's user avatar
  • 14k
2 votes

Why was the fast inverse square root algorithm so ingenious?

What you can take away from this: When you are given a problem, it is often possible to solve the problem, without solving obvious sub-problems. Like here, where you can calculate 1/sqrt(x) ...
gnasher729's user avatar
  • 30.1k
2 votes

Why was the fast inverse square root algorithm so ingenious?

A simple reason for wanting this non-standard way is to think about how many operations you would need to do in finding sqrt(x), and by extension 1/sqrt(x). One approach to finding sqrt(x) is as ...
ghost's user avatar
  • 21
2 votes
Accepted

Why was the fast inverse square root algorithm so ingenious?

Inverse square root is used a lot for vector normalisation : $$xn = \frac{x }{ \sqrt{x^2 + y^2 + z^2}}$$ Which has many uses in computer graphics, such as calculating illumination. With a traditional ...
Grabul's user avatar
  • 1,870
2 votes

Do modern computers prevent instructions being executed by audio? If so, how?

Yes, it absolutely could, if the software that plays the audio has a vulnerability that allows that to happen. I suggest learning about the nature of these vulnerabilities, to understand better how it ...
D.W.'s user avatar
  • 160k
2 votes
Accepted

Do modern computers prevent instructions being executed by audio? If so, how?

It already exists and we can find the examples with CVE mpeg or CVE mp3, or searching some other formats. Three examples among the many; CVE-2014-2299 Buffer overflow in the mpeg_read function in ...
kelalaka's user avatar
  • 1,161

Only top scored, non community-wiki answers of a minimum length are eligible