Finite and Algorithmic Model Theory