Programming Foundations: course outline — AIMOCS