Goals and Outcomes
Goals
- Learn about the historical development of programming languages.
- Study diļ¬erent programming language paradigms, including imperative, object-oriented, functional,
and logic.
- Gain some experience in programming in diverse languages spanning the above paradigms.
- Learn some aspects of implementing programming languages, such as scanning (tokenization), parsing,
interpretation, compilation, and optimization.
- Study underlying formalisms and methods, such as regular expressions and context-free languages.
- Improve programming skills.
- Improve communication skills, with particular emphasis on written communication and, further,
well-written programs.