This document outlines the course syllabus for a Natural Language Processing course, which covers topics such as syntax processing using context-free grammars, semantic representation and linking syntax to semantics, and incorporating world knowledge through knowledge representation and discourse context. The course consists of 12 chapters organized into 3 parts that cover techniques for syntactic parsing, semantic interpretation, and modeling context and knowledge. Evaluation is based on class participation, assignments, a midterm exam, and a final exam.