Programming Languages and Compilers

Unlock the intricacies of programming languages and compilers with this comprehensive online course. Explore essential concepts from semantics and syntax to garbage collection and type inference, empowering you to design and implement robust programming languages.

251 students
  • 16:22:36 hr(s)
  • Sun, 29-Jun-2025
  • English
  • Certified Course
Card image

In this online Programming Languages and Compilers course, you will delve into the foundational concepts and advanced techniques that shape the world of programming languages. This course covers a broad range of topics, including:

  • Syntax and Semantics: Understand the structure and meaning of programming languages, including big-step and small-step operational semantics.
  • Evaluation Strategies: Learn about different evaluation methods such as continuation passing style and lazy evaluation.
  • Functional Programming: Explore first-class functions, first-order functions, and lambda calculus.
  • Type Systems: Discover type checking, type inference, and unification, alongside parametric and subtype polymorphism.
  • Memory Management: Gain insights into garbage collection and mutable data structures.
  • Interpreters and Compilers: Analyze various interpreter implementations and learn about low-level representations.

Through engaging lectures, hands-on exercises, and real-world applications, you will develop a solid understanding of how programming languages are designed and implemented. This course is ideal for computer science students, software developers, and anyone interested in mastering programming languages and compilers.

What will I learn?

  • Understand the fundamental concepts of programming languages and compilers.
  • Analyze and implement various evaluation strategies.
  • Design and implement interpreters and compilers for programming languages.
  • Apply type checking, type inference, and unification principles effectively.
  • Develop a deeper understanding of memory management and garbage collection.

Curriculum

Requirements

  • Basic knowledge of programming concepts
  • Familiarity with at least one programming language (e.g., Python, Java, C++)
  • Access to a computer with an internet connection

Instructor

Course Administrator
Advanced Educator
  • 75,237 Reviews 4.4 Rating
  • 912,970 Students
  • 16 Courses

John is a brilliant educator, whose life was spent for computer science and love of nature.

Video Images
Preview this course
$ 89.9
  • Lectures46
  • Skill LevelBeginner
  • LanguageEnglish
  • Quizzes1
  • CertificateYes
  • Expiry period Lifetime
Show More

Programming Languages and Compilers