CS 210: Programming Languages

Instructor: Michael Wilder
Email: mdwilder@uidaho.edu
Office Hours: MWF 12:30 - 1:20 in JEB 226


Syllabus

Get it here

Reference Materials

Standard ML of New Jersey
Overview of cscheckin
Overview of the course server
CCX Samples
ccx_start.l

Slides

Part 1: Overview
Part 2: Defining Program Syntax
Part 3: Where Syntax Meets Semantics
Part 4: Language Systems
Part 5: A First Look at ML
Part 6: Types
Part 7: A Second Look at ML
Part 8: Polymorphism
Part 9: A Third Look at ML
Part 10: Scope
Part 11: A Fourth Look at ML
Part 12: Memory Locations For Variables
Part 13: A First Look at Java
Part 14: Memory Management
Part 15: A Second Look at Java
Part 16: Object Orientation
Part 17: A Third Look at Java
Part 18: Parameters
Part 19: A First Look at Prolog
Part 20: A Second Look at Prolog
Part 21: Cost Models
Part 22: A Third Look at Prolog
Part 23: Formal Semantics
Part 24: History of PLs

Homeworks

Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Homework 5 Project Archive

Reference Component in C

This is a reference component in C. It demonstrates how one can use information hiding in C to build opaque types. It needs lots of work, but is a good start.

cog.h
cog.c
main.c
Makefile

Reference Component in C++

This is a reference component in C++. It demonstrates how one can use information hiding in C++ to increase the opacity of types. It needs lots of work, but is a good start.

cog.h
cog.cpp
main.cpp
Makefile