This document outlines a course on fundamentals of computational linguistics. The course introduces students to linguistics and natural language processing. It aims to help students understand the theoretical components of language and complexities of natural languages. Over the course, students will learn about phonetics, morphology, syntax, semantics and their application in natural language processing. They will study theories of language and complete activities applying linguistic concepts to speech analysis and natural language tasks. The course will be taught through lectures, activities and guest lectures to provide both theoretical and practical knowledge in the field.