Introduction to Symbolic Programming