Welcome!
This is the official public website for the Spring 2021 offering of CS 430 at James Madison University! There are four sections of CS 430 this year, two taught by Dr. Chris Johnson and two taught by Dr. Mike Lam. This website applies to all four sections. We will be posting most of the course materials here, and anything that must be private (e.g., quizzes, grades, copyrighted files, etc.) will be posted on each section’s Canvas page.
Please bookmark or otherwise keep this page handy and check it regularly throughout the semester.
Course information:
- Syllabus
- Schedule
- Johnson office hours: Mon-Fri 12:35-1:35 (Zoom link on Canvas) or schedule a meeting via a Slack direct message
- Lam office hours: Mon-Fri 11:00-12:00 (Zoom link on Canvas) or schedule a meeting
Online course materials:
- Week 1 (Jan 19-22)
- Week 2 (Jan 25-29)
- Week 3 (Feb 1-5)
- Week 4 (Feb 8-12)
- Week 5 (Feb 15-19)
- Week 6 (Feb 22-26)
- Week 7 (Mar 1-5)
- Module 10: Expressions (B)
- Guide
- Slides: Lam
- Lab: Expressions
- Module 11: Control Structures (R)
- Module 10: Expressions (B)
- Week 8 (Mar 8-11)
- Module 12: Haskell 2 (P)
- Guide
- Lab and optional lab
- Project
- Module 12: Haskell 2 (P)
- Week 9 (Mar 15-19)
- Module 13: Parameters (B)
- Guide
- Slides: Lam
- Lab: Parameters
- Module 14: Subprogram Invocation (R)
- Module 13: Parameters (B)
- Week 10 (Mar 22-26)
- Week 11 (Mar 29 - Apr 2)
- Module 16: Activations and Environments (B)
- Guide
- Slides: Lam
- Lab: Activation
- Module 16: Activations and Environments (B)
- Week 12 (Apr 5-9)
- Week 13 (Apr 12-16)
- Module 18: Abstraction and OOP (B)
- Guide
- Slides: Lam
- Lab: Virtual Method Tables
- Module 18: Abstraction and OOP (B)
- Week 14 (Apr 19-23)
- Module 19: Concurrency and Error Handling (B)
- Guide
- Slides: Lam
- Lab: Concurrency and Error Handling
- Module 19: Concurrency and Error Handling (B)
- Week 15 (Apr 26-29)