CSE271

CSE271: Principles of Programming Languages

Overview

Jooyong Yi (UNIST)

2024 Fall
CSE271

What do you expect from this course?

2024 Fall
CSE271

What would you expect from the following courses?

  • CSE331: Operating Systems
  • CSE321: Database Systems
  • CSE411: Introduction to Compilers
2024 Fall
CSE271

Goals of This Course

  1. Understand basic concepts of programming languages.
  2. Develop a system that can run a program written in a programming language.
2024 Fall
CSE271

Interpreter vs Compiler

  • Python Interpreter
                    Uni
                     ↓
hello-name.py → [ python ]
                     ↓
                  Hello Uni   
  • Clang Compiler
                             Uni
                              ↓
hello-name.c → [ clang ] → hello-name
                              ↓
                          Hello Uni   
2024 Fall
CSE271

Will I be more proficient in C (Java, C++, Rust ...) after taking this course?

2024 Fall
CSE271

Concepts of Languages

I will get a good grade in this course.

Je vais obtenir une bonne note dans ce cours.

Ich werde in diesem Kurs eine gute Note bekommen.

나는 이 과목에서 좋은 성적을 받을 것이다.

2024 Fall
CSE271

New Languages and Old Concepts

2024 Fall
CSE271

List of Programming Languages

2024 Fall
CSE271

What you can expect from this course

  • You will not be afraid of learning new languages.
  • You will be able to design your own language. Why not?
2024 Fall
CSE271

Are you interested in research on software?

  • Do you want to improve or invent a compiler for a new or existing CPU/GPU architecture?
  • Do you want to analyze a program to find bugs or security vulnerabilities and fix them automatically?
  • Do you want to make large language models better handle programming tasks?
2024 Fall
CSE271

Which programming language will we use?

                                           Uni
                                            ↓
a program written in language A → [ interpreter written in language B ]
                                            ↓
                                        Hello Uni   
2024 Fall
CSE271

Textbook

                                           Uni
                                            ↓
a program written in Scheme → [ interpreter written in Scheme ]
                                            ↓
                                        Hello Uni   
2024 Fall