(3 credits) Prerequisite: Admission to the MS program in Computer Science or consent of instructor This course explores various concepts found in programming languages such as type checking and control flow. The course also introduces several programming paradigms like functional programming and logic programming. In addition, students will study concepts of compiler/interpreter to understand how a programming language is understood by a computer. Offered alternate years.