YoVDO

Programming Languages Ⅰ

Offered By: Korea Advanced Institute of Science and Technology via Coursera

Tags

Programming Languages Courses Scala Courses Data Structures Courses Semantics Courses Lambda Calculus Courses

Course Description

Overview

The goal of this course is to help students: 1. learn new languages quickly, 2. evaluate various languages and pick the most suitable one for a given task, 3. know when and how to design a little language, and 4. understand the effects of languages on thought and communication. We will study programming language concepts, not as paradigms but as a set of basic building blocks, by 1) implementing interpreters for the concepts using the Scala programming language and 2) rigorously discussing the concepts using the operational semantics.

Syllabus

  • Programming Languages: Syntax and Semantics
  • Programming Languages with Identifiers
  • First-Order Functions and First-Class Functions
  • Lambda Calculus and Recursive Functions
  • Mutable Data Structures and Variables
  • Garbage Collection and Lazy Evaluation
  • Final Exam

Taught by

Sukyoung Ryu

Tags

Related Courses

Intro to Computer Science
University of Virginia via Udacity
Design of Computer Programs
Stanford University via Udacity
Analytic Combinatorics, Part I
Princeton University via Coursera
Algorithms, Part I
Princeton University via Coursera
Algorithms, Part II
Princeton University via Coursera