JMU CS 430 Spring 2021

Programming Languages

Schedule

The following schedule is tentative, and we reserve the right to change it if bad weather or other unforeseen events make it impracticable. CPL stands for Concepts of Programming Languages, and the numbers refer to chapters and sections in this text. The letters in parentheses stand for (R)eading, (B)asic, and (P)rogramming modules. Module details, such as materials, videos, quizzes, due dates, etc., will be provided either on this website or on Canvas.

Week Date Module(s) CPL
1 Jan 19 01: Intro and Ruby 1 (R/P) 1
2 Jan 26 02: Syntax (B) 3
    03: Parsing (R) 4
3 Feb 2 04: Ruby 2 (P)  
    (Lam sections: intro to M5/M6 on Thu)  
4 Feb 9 05: Scope and Lifetime (B) 5
    06: Names and Bindings (R)  
    (miss Tue, Feb 9 due to SA day)  
5 Feb 16 07: Type Checking (B) 6
    08: Data Types (R)  
6 Feb 23 09: Haskell 1 (P) 15
7 Mar 2 10: Expressions (B) 7
    11: Control Structures (R) 8
8 Mar 9 12: Haskell 2 (P)  
9 Mar 16 13: Parameters (B) 9
    14: Subprogram Invocation (R)  
10 Mar 23 15: Prolog 1 (P) 16
11 Mar 30 16: Activations and Environments (B) 10
12 Apr 6 17: Prolog 2 (P)  
    (miss Thu, Apr 8 due to break day)  
13 Apr 13 18: Abstraction and OOP (B) 11, 12
  Apr 20 19: Concurrency (B) 13
14 Apr 27 20: History (R) 2
    Review