This course is concerned with linguistic meaning, i.e., the way speakers of a language associate interpretations to expressions in that language. After defining basic semantic relations among sentences, we go on to investigate the way the meaning of sentences is constructed based on the meanings of their parts. We consider a range of linguistic phenomena to incrementally build up our framework, including brief excursions into pragmatics and psycholinguistics. To help us be precise we will use the tools of Propositional and Predicate Logic as well as lambda calculus.