CSCI 4500/6500 Programming Languages |
---|
--- Subject to Change ---
Week | Date | Topic | Reading | Assignments | Notes | |
---|---|---|---|---|---|---|
Course Introduction | ||||||
01 | Jan 10 | Syllabus, policies and preliminaries | HW 1. | |||
Jan 11 | Overview and Motivation of Programming Languages | Chapter 1 | ||||
Jan 12 | Programming Language History | See slides | - Taking Pictures with Digital Camera - Please subscribe to email list at URL: Drop/Add ends at noon (1000-5999 courses only) | |||
Syntax: | ||||||
02 | Jan 17 | Programming Language Syntax | Chapter 2 | HW 2: Parser
Resources: |
Program: Lex/Yacc Drop/Add ends at noon (Graduate 6000+ level courses only) |
|
Jan 18 | Topic/presentation selection | |||||
Jan 19 | Scanning & Lex | A Compact Guide to Lex & Yacc | ||||
Lexing/Parsing | ||||||
03 | Jan 24 | Parsing & Yacc | Chapter 2 & 4 | |||
Jan 25 | Design of Programming Languages | Presenter 1: David Luper | ||||
Jan 26 | ||||||
Functional Programming: | ||||||
04 | Jan 31 | Functional Programming Concepts & Introduction to Scheme | Chapter 10 | HW 3: Scheme Fractals. | Program: Scheme | |
Feb 01 | Algol & influence on Simula | Presenter 2: Brad Wolfe | ||||
Feb 02 | Evaluation Order & Higher Order Functions & a little SML | HW 3a: Scheme warm-up. | Groundhog Day: Phil says six more weeks of Winter! (2005) | |||
Names, Scopes and Binding | ||||||
05 | Feb 07 | Chapter 3 | ||||
Feb 08 | Semantics | Presenter 3: Kelly Weaver | ||||
Feb 09 | ||||||
Control Flow: | ||||||
06 | Feb 14 | Chapter 6 | Hold programming for midterm study | |||
Feb 15 | Functional programming | Presenter 4: Corey Stark | ||||
Feb 16 | ||||||
Review & Midterm: | ||||||
07 | Feb 21 | |||||
Feb 22 | study for midterm | Chapter 1-4 & 6 | ||||
Feb 23 | Midterm I | Chapter 1-4 & 6 | ||||
Control Flow: | ||||||
08 | Feb 28 | Go over Midterm Control Flow | Chapter 1-4 & 6 | HW 4: SML prime numbers. | Program: SML | |
Mar 01 | More aspects of ALGOL and its descendants | Presenter 5: Alex Drazdowski | ||||
Mar 02 | Middle of Term | |||||
Scripting Languages: | ||||||
09 | Mar 07 | Introduction Scripting Languages | Chapter 13 | Withdrawal Deadline: Tue March 07 | ||
Mar 08 | Scripting Languages | Presenter 6: Solomon Key | ||||
Mar 09 | ||||||
Mar 14 | Spring Break | |||||
Mar 15 | Spring Break | |||||
Mar 16 | Spring Break | |||||
Scripting: | ||||||
10 | Mar 21 | Introduction to Python | Chapter 13 | |||
Mar 22 | Type inference (Cardelli & Wegner's polymorphism paper) | Presenter 7: George Vulov | ||||
Mar 23 | Continue Pythons | HW 5: Python clarify | Program: Python | |||
Types I: | ||||||
11 | Mar 28 | more on Python | [slides also listed above] | |||
Mar 29 | Abstraction and Types (Liskov's CLU) | Presenter 8: Dong Zhang | ||||
Mar 30 | Introduction Types, Data Types | Chapter 7 | ||||
Types II: | ||||||
12 | Apr 04 | pointers, recursive types | Chapter 7 | |||
Apr 05 | GOLOG | Presenter 9: Cole Sherer | ||||
Apr 06 | HCI experiment | |||||
Logic Programming: | ||||||
13 | Apr 11 | Introduction to logic programming | Chapter 11 | HW 6: Prolog Sudoku (preview) | Program: Prolog | |
Apr 12 | Multiple Inheritance | Presenter 10: Steve Hanek | ||||
Apr 13 | CSP and installation tutorial | |||||
Subroutines: | ||||||
14 | Apr 18 | Stack management | Chapter 8 | Program: Ruby | ||
Apr 19 | Parameter passing, exceptions | |||||
Apr 20 | Midterm II | Chapters 7-8, 11, 13 | ||||
Objects: | ||||||
15 | Apr 25 | Overview | Chapter 9 | |||
Apr 26 | Recursion | Presenter 11: Jason Young | ||||
Apr 27 | Smalltalk, Ruby and scripting objects | |||||
Course Conclusion: | ||||||
18 | May 01 (Monday) |
Last day of classes | ||||
May 02 (Tuesday) |
Reading Day | |||||
May 03 (Wednesday) |
Final's Week: Day 1 | |||||
May 04 (Thursday) |
Our Final Exam: 3:30-6:30pm |
Chapters 1-4, 6-11 & 13 | Final's Week: Day 2 | |||
May 05 (Friday) |
Final's Week: Day 3 | |||||
Finals: | ||||||
May 08 (Monday) |
Final's Week: Day 4 | |||||
May 09 (Tuesday) |
Final's Week: Day 5 Last Day | |||||
May 12 (Friday) | Grades Due | |||||
May 13 (Saturday) | Commencement | |||||