Schedule (Fall 2018)

2018-10-18

Held Quiz 4 in class.

Note

Next class (10/23) will be an optional lab day held in the ALAMODE lab. There will be no class in the regular classroom. You are not required to attend.

2018-10-11: Racket Intro

Slides:Racket Intro (4:3 PDF, 16:9 PDF, 16:10 PDF)

To do for Tuesday:

2018-10-09

Finished up previous slides:

Slides:The Lambda Calculus (4:3 PDF, 16:9 PDF, 16:10 PDF)

Held Quiz 3 in class.

No LGA for Thursday, since I imagine you are busy with SlytherLisp D2!

2018-10-02: Lambda Calculus

Slides:The Lambda Calculus (4:3 PDF, 16:9 PDF, 16:10 PDF)

Homework 1 is due Thursday, 10/18:

Quiz 4 will cover the lambda calculus and will be held Thursday, 10/18.

The lc tool shown in class can be installed using pip:

$ python3 -m pip install --user lc

To do for Tuesday, 10/9:

Note

Class on Thursday will be a lab day for SlytherLisp D2 held in ALAMODE. Attendance is optional, and we will not meet in our normal classroom.

2018-09-27: Parsing

Slides:Parsing (4:3 PDF, 16:9 PDF, 16:10 PDF)

Also: Shift Reduce Example (shown in class)

To do for Tuesday:

2018-09-20: Regular Expressions and FSA

Slides:Regular Expressions (4:3 PDF, 16:9 PDF, 16:10 PDF)

Two learning group assignments:

2018-09-18: Memory Management

Slides:Memory Management (4:3 PDF, 16:9 PDF, 16:10 PDF)
  • SlytherLisp Project is assigned. Please find partners (use Piazza as a resource) and get started on the first deliverable. You should have your group decided and your repository created by midnight after class. Please email the instructor if you are still having trouble finding a group and Piazza is not working for you.
  • Quiz 2 will be Tuesday, 9/25, and will cover: Python programming, Python style, OOP, Diamond Problem, Error Handling, Lexical vs. Dynamic Scoping, Memory Management.

To do for Thursday:

2018-09-13: SlytherLisp Intro

Slides:SlytherLisp Introduction (4:3 PDF, 16:9 PDF, 16:10 PDF)

2018-09-06: Object Oriented Programming & Exceptions

Slides:OOP & Exceptions (4:3 PDF, 16:9 PDF, 16:10 PDF)

To do for Thursday:

2018-09-04: Python Intro

Slides:More Python (4:3 PDF, 16:9 PDF, 16:10 PDF)

Quiz 1 in class today.

CS@Mines Puzzle Challenge starts Friday at 8 AM. Set a calendar event or alarm!

To Do for Thursday:

  1. LGA-05: Python Style

2018-08-30: Python Intro

Slides:Python Introduction (4:3 PDF, 16:9 PDF, 16:10 PDF)

To Do for Tuesday:

  1. LGA-03: Quiz Preparation

2018-08-28: Language Evaluation and Typing Systems

Slides:PL Evaluation and Typing Systems (4:3 PDF, 16:9 PDF, 16:10 PDF)

To Do for Tuesday, September 4:

  1. LGA-03: Quiz Preparation

2018-08-23: PL Concepts

Slides:Programming Language Concepts (4:3 PDF, 16:9 PDF, 16:10 PDF)

To Do for Tuesday:

  1. LGA-02: Language Scavenger Hunt

2018-08-21: Syllabus Day

Slides:Welcome to Programming Languages! (4:3 PDF, 16:9 PDF, 16:10 PDF)

Topics Covered:

  1. Met learning groups
  2. Covered syllabus

To Do for Thursday:

LGA-01: Define what a programming language is in your own terms. Spend some good time thinking about your definition. Be prepared to discuss your definition with your group on Thursday.