CSC493

Introduction to Multi-Paradigm Programming

paradigms


Docs of Interest

Syllabus
Asteroid Home Page
Asteroid Documentation
Cloud Based Asteroid
Cloud Based Rust
Cloud Based Python
Cloud Based Lisp
Cloud Based SML
Programs


Lecture Notes

Introduction

Imperative Programming with Pattern Matching

The Basics
Data Structures
The Foundations of Pattern Matching
Flow of Control
Functions

Object-Oriented Programming

“Classic” Object-Oriented Programming & Foundations
“Modern” Object-Oriented Programming
Object-Oriented Programming with Asteroid

Functional Programming

Foundations
Functional Programming in Asteroid – Basics
Higher-Order Programming
Working with Partially evaluated Functions - Currying

Programming with First-Class Patterns

First-Class Patterns – Basics
Advanced Features & Applications
First-Class Patterns as Types

Putting it All Together

Putting it All Together
Semester Summary