COMP 590-059 (Fall 2024)

August

Mon Wed
19 (FDOC)
syllabus
Pollev survey

21
OO history

install SMLNJ
install Erlang and Elixir
install Go (golang)
install Rust
26
concurrency
Sample Java threads (zip)

COMP 301 threads review (a)
COMP 301 threads review (b)
COMP 301 threads review (c)
28

September

Mon Wed
02
Labor day (no class)

04
no class meeting, team day

09
concurrency: synchronization
Erlang

11
Erlang
Erlang Code Examples

16
Erlang
RT Stack and recursion review

18
Erlang Processes
Actor model

23
Well-being day (no class)

25
Erlang Processes
30
Erlang Processes
Erlang Process Code Examples (and Hot Swap)





October

Mon Wed



02
Erlang Processes
More Erlang Process Code Examples
Erlang Process Patterns
07
Elixir
Elixir code examples

09
Elixir
ADT PPT

14
Elixir

16
no class meeting
Fall break Thu and Fri 10/17 -- 10/18
21
Go Lang PPT


23
Video: Goroutines and Race Conditions
Video: Goroutines and WaitGroups

Go: Concurrency
Go code examples
28
Go: OO Structure
Go code examples
30



November

Mon Wed
04
Go: Misc Issues
Go code examples

06
Rust: the Basics

11
Rust: the Basics


13
Rust: Concurrency

18
Rust: Video for Concurrency

Rust: Concurrency
Rust Code examples

20

Final Exam project


25
Futures recording (formal model)
Futures recording (prog examples)
Futures PPT
Sample Java Code
27
Holiday

December

Mon Wed
02

no class meeting
04 (LDOC)
no class meeting
Fri 13
(no meeting on exam day) Final Exam slot
12:00 pm


16

zoom video on lambda calculus

lambda calculus notes in vid

SML and Functional Programming
SML programming
more SML
currying, higher order fns
brief lambda calculus as a SML semantic computation model
examples applied to ADT axioms



work on team exploration
of using chatGPT to produce
"implementations" of
Guttag-style ADT specs



ADT Axioms
ADT PPT



back to OO... issues
OO issues
zoom recording

OO pillars
zoom recording 1
zoom recording 2



Linda and Tuplespace
zoom video
PPT Notes



Watch this vid
on Erlang processes and message passing

Then do assignment 5 on Erlang process programming