Introduction to Programming Languages

Table of contents

Introduction to Programming Languages

75% developed  as of Jun 28, 2012 Preface
75% developed  as of Jun 28, 2012 Programming Language Paradigms

Syntax

75% developed  as of Jun 28, 2012 Grammars
75% developed  as of Jun 28, 2012 Parsing
75% developed  as of Jun 28, 2012 Ambiguity
75% developed  as of Jun 28, 2012 Precedence and Associativity

Grammars in Practice

75% developed  as of Jun 28, 2012 Logic Grammars
75% developed  as of Jun 28, 2012 Syntax Directed Interpretation
75% developed  as of Jun 28, 2012 Syntax Directed Translation
75% developed  as of Jun 28, 2012 Syntax Directed Type Checking

Execution Environments

75% developed  as of Jun 28, 2012 Compiled Programs
75% developed  as of Jun 28, 2012 Interpreted Programs
75% developed  as of Jun 28, 2012 Binding

Introduction to Functional Programming

Pattern Matching

Types

25% developed  as of July 23, 2012 Data Types
25% developed  as of July 23, 2012 Primitive Types
25% developed  as of July 23, 2012 Constructed Types

Typing Disciplines

25% developed  as of July 23, 2012 Dynamically vs Statically Typed Languages
25% developed  as of July 23, 2012 Nominal vs Structural Typing Equivalence
25% developed  as of July 23, 2012 Safe vs Unsafe Typing
25% developed  as of July 23, 2012 Type Inference vs Type Annotations

Polymorphism

25% developed  as of July 10, 2012 What is Polymorphism
25% developed  as of July 10, 2012 Ad-Hoc Polymorphism
25% developed  as of July 10, 2012 Universal Polymorphism

The Lambda Calculus

High-Order Functions

75% developed  as of Jun 28, 2012 Definition and Examples
75% developed  as of Jun 28, 2012 Closures
75% developed  as of Jun 28, 2012 Partial Application
75% developed  as of Jun 28, 2012 Noticeable High-Order Functions
75% developed  as of Jun 28, 2012 Template Oriented Programming

Scope

25% developed  as of Ago 24, 2012 Definitions and Scope Type
25% developed  as of Ago 24, 2012 Scoping with Blocks
25% developed  as of Ago 24, 2012 Scoping with Namespaces

Algebraic Data Types

Memory Allocation

Imperative Programming in Python

Memory Management

Abstract Data Types

Object-Oriented Programming

Exceptions

Parameter Passing

75% developed  as of Jun 28, 2012 Parameter Matching
75% developed  as of Jun 28, 2012 Evaluation Strategies

Introduction to Logic Programming

Unification

Cost Models

Math in Prolog

↑Jump back a section
Last modified on 24 September 2012, at 20:32