Notes for Programming from the Ground Up