
We have so many programming languages in the world. In this course, we investigate common concepts behind various programming languages. Our main goal is to gain the fundamental knowledge of computer science such as formal grammar, data types, programming paradigms, etc. through the concepts found in programming languages. Note that we focus on theoretical understanding, not practical skills of programming.