COMP 333: Concepts of Programming Languages
Getting Help
Canvas, for all non-personal communication
Kyle's email address: kyle dot dewey at csun dot edu
Kyle's office hours (all in JD 4419):
Monday/Wednesday: 5:00 PM - 6:00 PM
Thursday: 1:00 PM - 2:00 PM
Also available by appointment
Resources
Syllabus
Assignments
Final Assignment/Presentation Information
Weekly Course Materials
Week
Materials
1
Week 1 Part 1 Lecture Notes
Week 1 Part 2 Lecture Notes
Code From Class Motivating and Covering Virtual Dispatch
Worksheet Covering Virtual Dispatch and Inheritance
Worksheet Covering Virtual Tables
Worksheet Covering Prototype-Based Inheritance
2
Still covering week 1 material
3
Still covering week 1 material
4
Week 4 Part 1 Lecture Notes
Worksheet Covering Reference Counting and Garbage Collection
Information and Examples Using Higher-Order Functions
Worksheet Covering Higher-Order Functions in JavaScript
5
Information and Examples Using Algebraic Datatypes and Pattern Matching in Swift (read through
binary_search_tree1.swift
)
Worksheet Covering List Routines in JavaScript
6
Worksheet Covering Algebraic Datatypes and Pattern Matching in Swift
7
Midterm 1 Practice Exam
Midterm 1 Practice Exam Solutions
Worksheet Covering Generics, Parametric Polymorphism, and Higher-Order Functions in Swift
8
Midterm; covering materal from prior week
9
Worksheet Covering Extensions and Protocols in Swift
Code Written In Class Covering Extensions and Protocols
10
Worksheet Covering Abstract Syntax Trees, Grammars, and Parsing
Background on Grammars, Abstract Syntax Trees, and Parsing
11
Handout Introducing Prolog
Worksheet Covering Introductory Prolog
12
Material from prior week
13
Handout Introducing Repetition and Structures in Prolog
Worksheet Covering Recursion in Prolog
14
Unification in Prolog
In-Class Worksheet on Unification
15
Practice Exam 2
Practice Exam 2 Solutions