CSC 310 Programming Languages
This course provides a comprehensive exploration of programming languages, starting with the theory of computation, including regular languages, grammars, and automata. Students will examine how computers execute operations at the hardware level and how assembly languages relate to machine architecture. The course then covers the process of compiling high-level code into machine-readable instructions. Students will also explore different programming language paradigms and their design principles, focusing on how languages abstract away hardware complexities to enable efficient software development. The student will also study three different programming languages and write a short project in each.