Programming-from-the-Ground-Up