The Halting Problem is the problem of deciding whether a computer program will finish or go on forever. It is an...

# Algorithms, data structures & computability Articles

## Computational complexity

Developed in the 70's, computational complexity is a subbranch of the theory of computation. The latter was...

## The Turing Machine

The Turing Machine is a model of computation which is reflected in every sort of computer we use today: the...

## What is computational thinking?

The reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to...

## Propositional Logic

In propositional logic, each propositional variable represents a sentence (or proposition), and takes the value TRUE or FALSE, depending on whether the sentences represented by the variables were themselves TRUE or FALSE. The logical connectives are then used to build...

## Algorithms

Algorithms are methods for studying for solving problems that are suited for computer implementation. Most algorithms of interest involve organizing the data involved in the computation - schemes for organising data that leave them amenable to efficient processing by...

## What are data structures?

A data structure is a way of storing data in a computer so that it can be used efficiently and it will allow the most efficient algorithm to be used. The choice of the data structure begins from the choice of an abstract data type (ADT). A well-designed data structure...