Algoritma, bir veri veya bir grup veri üzerinde hesaplama gerektiren bir problemin çözüm metodu olarak tanımlanabilir. Arama, kelime işleme, geometrik ve matematiksel işlemler vb. birçok problemin çözümünde kullanılan algoritmalar, bir programcının olmazsa olmazlarındandır.
Veri yapıları da adından anlaşılacağı gibi üzerinde işlem yapılacak verinin temsil edilme şeklidir. En çok bilinen ve kullanılan veri yapıları dizi, yığın, liste, kuyruk, ağaç ve graftır.