This lecture served at the introductory lecture to the course. We introduced the Standard ML language, which we will be working in for the remainder of the semester, and discussed some philosophical objectives for what ideals we should strive for as programmers.

Functional programming can be seen as a reification of these ideals, by striving towards improving our ability to communicate as programmers through descriptive, modular, and maintainable code. We will see later on in the semester how functional programming really achieves this, but the ultimate goal is stated as not just programming, but programming better.